熊猫分层列

问题描述:

假设我有两个数据框,是否可以按列连接它们,但是第二个数据框在连接的数据框中显示为单个列?熊猫分层列

绘画方式,我在寻找:

df_A: 
C1 C2 C3 
1 2 3 
11 22 33 

df_B: 
D1 D2 D3 
3 4 5 
33 44 55 

Concatenated: 
C1 C2 C3 df_B 
     D1 D2 D3 
1 2 3 3 4 5 
11 22 33 33 44 55 

可以contruct一个MultiIndex创建具有所需外观的数据帧:

import pandas as pd 
df_A = pd.DataFrame([(1,2,3), (11,22,33)], columns=['C1', 'C2', 'C3']) 
df_B = pd.DataFrame([(3,4,5), (33,44,55)], columns=['D1', 'D2', 'D3']) 
result = pd.concat([df_A, df_B], axis=1) 
result.columns = pd.MultiIndex.from_tuples([(col,'') for col in df_A] 
              + [('df_B', col) for col in df_B]) 
print(result) 

产量

C1 C2 C3 df_B   
       D1 D2 D3 
0 1 2 3 3 4 5 
1 11 22 33 33 44 55