我想合并df1和df2。 我将concat函数与外部联接一起使用,并使用了多索引。
结果是合并索引值,我想划分索引列。
请告诉我该怎么做。
df1:
CODE U-01 U-02 U-03 U-04 U-05
INDEX host
L1 A 3.0 3.0 3.0 3.0 3.0
L2 B 3.0 3.0 3.0 3.0 3.0
L3 C 3.0 3.0 3.0 3.0 3.0
L4 D 3.0 3.0 3.0 3.0 3.0
df2:
CODE U-01 U-02 U-03 U-04 U-05
LEVEL H L H M L
STANDARD 3 3 3 3 2
所以,我的代码是,
total_data = pd.concat([df1, df2], join='outer')
但是,结果是
U-01 U-02 U-03 U-04 U-05
LEVEL H L H M L
STANDARD 3 3 3 3 2
(L1,A) 3.0 3.0 3.0 3.0 3.0
(L2,B) 3.0 3.0 3.0 3.0 3.0
(L3,C) 3.0 3.0 3.0 3.0 3.0
(L4,D) 3.0 3.0 3.0 3.0 3.0
我想拆分列并使用多索引。
Desired result would be :
U-01 U-02 U-03 U-04 U-05
LEVEL H L H M L
STANDARD 3 3 3 3 2
L1 A 3.0 3.0 3.0 3.0 3.0
L2 B 3.0 3.0 3.0 3.0 3.0
L3 C 3.0 3.0 3.0 3.0 3.0
L4 D 3.0 3.0 3.0 3.0 3.0
index = INDEX, host
答案 0 :(得分:1)
在连接之前,两个数据框中都需要MultiIndex in index
。
因此使用:
df2 = df2.assign(new = '').set_index('new', append=True)
total_data = pd.concat([df1, df2])
然后第二级由第二级中的空格填充(这有点技巧,因为看不到它)。
还可以将一些值添加到第二级(现在可以看到,存在值new
):
df2 = df2.assign(new = 'new').set_index('new', append=True)
total_data = pd.concat([df1, df2])