在pandas数据帧上合并多索引列名

时间:2015-04-20 08:58:03

标签: python pandas

我有一个csv文件,其列名分隔各行,如下所示:

ID,Flow,Flow
,,Type
1,21.79,1
2,1129.32,0

因此列名称为IDFlowFLow Type。当我将此csv作为多索引数据框读取时:

df = pandas.read_csv(path, header = [0,1])

我最终得到了

               ID                Flow      
Unnamed: 0_level_1  Unnamed: 1_level_1  Type 
1                    21.79                1                             
2                    1129.32              0

是否有一种简单的方法来合并列名,以便最终得到一个简单的列索引及其正确的名称?最后,我希望有相同的

pandas.DataFrame({'ID': [1,2], 'Flow': [21.79, 1129.32], 'Flow Type': [1,0]})

1 个答案:

答案 0 :(得分:0)

此方法假定您知道列的顺序及其名称以及要跳过的行数。

如果是这样,你可以

pd.read_csv('temp.csv', skiprows=2, names=['ID', 'Flow', 'FLow Type'])

此处,列名称为['ID', 'Flow', 'FLow Type'],我们正在从' temp.csv'中跳过skiprows=2。文件。

那将以预期的方式阅读csv。但是,如果列顺序和跳过更改,则此方法不起作用。