Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 合并数据帧上的多索引列名_Python_Pandas - Fatal编程技术网

Python 合并数据帧上的多索引列名

Python 合并数据帧上的多索引列名,python,pandas,Python,Pandas,我有一个csv文件,它的列名在不同的行上分开,如下所示: ID,Flow,Flow ,,Type 1,21.79,1 2,1129.32,0 因此,列名是ID、Flow和Flow Type。当我将此csv作为多索引数据帧读取时: df = pandas.read_csv(path, header = [0,1]) 我最终得到了 ID Flow Unnamed: 0_level_1 Unnamed: 1_level_1

我有一个csv文件,它的列名在不同的行上分开,如下所示:

ID,Flow,Flow
,,Type
1,21.79,1
2,1129.32,0
因此,列名是ID、Flow和Flow 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]})

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

如果是的话,你可以

pd.read_csv'temp.csv',skiprows=2,name=['ID','Flow','Flow Type']

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

应以预期方式读取csv。但是,如果列顺序和skiprows发生变化,此方法将不起作用。

pd.read\u csv'temp.csv',skiprows=2,name=['ID','Flow','Flow Type']可能是什么?假设您知道标题名称,那么您可以跳过。