有没有办法连接具有不同列级别的多索引 Pandas 数据帧?
Is there a way to concatenate multiindex Pandas Dataframes with different column levels?
我正在从一些 csv 文件中读取数据,典型的数据框如下所示:
Type Animal Animal Animal
Color Black Black Red
Value 0 0 0
Value 0.1 0.2 0.3
Value 0.1 0.4 0.5
所以,基本上,对于每只动物,对于每一种颜色,都有一个值数组。要读取数据,我使用以下代码行:
df1 = pd.read_csv(csv_path, header = [0,1])
我有另一个类似的数据框,但多了一个 header 行,看起来像这样:
Type Animal Tool Tool
Color Black Red Green
ID 1 2 3
Value 0 0 0
Value 0.1 0.2 0.3
Value 0.1 0.4 0.5
我是这样读取上面的数据框的:
df2 = pd.read_csv(csv_path, header = [0,1,2])
现在我想要一个包含所有数据的数据框,如下所示:
Type Animal Animal Animal Animal Tool Tool
Color Black Black Red Black Red Green
ID 1 2 3
Value 0 0 0 0 0 0
0.1 0.2 0.3 0.1 0.2 0.3
0.1 0.4 0.5 0.1 0.4 0.5
对于这种类型的数据,有什么办法可以做到这一点吗?
df1 = df1.T
df1['ID'] = None
df1 = df1.set_index('ID', append=True).T
pd.concat([df1, df2], axis=1)
我正在从一些 csv 文件中读取数据,典型的数据框如下所示:
Type Animal Animal Animal
Color Black Black Red
Value 0 0 0
Value 0.1 0.2 0.3
Value 0.1 0.4 0.5
所以,基本上,对于每只动物,对于每一种颜色,都有一个值数组。要读取数据,我使用以下代码行:
df1 = pd.read_csv(csv_path, header = [0,1])
我有另一个类似的数据框,但多了一个 header 行,看起来像这样:
Type Animal Tool Tool
Color Black Red Green
ID 1 2 3
Value 0 0 0
Value 0.1 0.2 0.3
Value 0.1 0.4 0.5
我是这样读取上面的数据框的:
df2 = pd.read_csv(csv_path, header = [0,1,2])
现在我想要一个包含所有数据的数据框,如下所示:
Type Animal Animal Animal Animal Tool Tool
Color Black Black Red Black Red Green
ID 1 2 3
Value 0 0 0 0 0 0
0.1 0.2 0.3 0.1 0.2 0.3
0.1 0.4 0.5 0.1 0.4 0.5
对于这种类型的数据,有什么办法可以做到这一点吗?
df1 = df1.T
df1['ID'] = None
df1 = df1.set_index('ID', append=True).T
pd.concat([df1, df2], axis=1)