2015-04-20 29 views
0

我有了分开在不同的线条,这样它的列名的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]}) 
+0

'pd.read_csv('temp.csv',skiprows = 2,names = ['ID','Flow','FLow Type'])''可能是?假设你知道头文件的'names',那么你可以'skiprows'。 – Zero

回答

0

相当于此方法假定你知道为了柱和他们的名字,并要跳过的行数。

如果是这样,你可以

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

这里,列名['ID', 'Flow', 'FLow Type'],我们从 'temp.csv' 文件跳过skiprows=2

这应以预期的方式读取csv。但是,如果列顺序和skiprows改变,这种方法无效。