[英]how can I merge single column dataframe to multicolumn dataframe?
There's a multi columns dataframe like below有一个多列数据框,如下所示
x y
a b a b
1 21 54 4 7
2 18 23 2 4
3 10 54 8 9
and there's a single column dataframe to this并且有一个单列数据框
alpa beta
1 9 5
2 1 3
3 10 7
how can I merge two dataframes like below??如何合并两个数据框,如下所示?
x y alpa beta
a b a b
1 21 54 4 7 9 5
2 18 23 2 4 1 3
3 10 54 8 9 10 7
You need join 2 DataFrame with MultiIndex
or 2 Dataframes with no MultiIndex
:您需要加入 2 个带有MultiIndex
或 2 个没有MultiIndex
:
df2.columns = pd.MultiIndex.from_product([['new'], df2.columns])
df3 = pd.concat([df1, df2], axis=1)
print (df3)
x y new
a b a b alpa beta
1 21 54 4 7 9 5
2 18 23 2 4 1 3
3 10 54 8 9 10 7
df1.columns = df1.columns.map('_'.join)
df4 = pd.concat([df1, df2], axis=1)
print (df4)
x_a x_b y_a y_b alpa beta
1 21 54 4 7 9 5
2 18 23 2 4 1 3
3 10 54 8 9 10 7
Else get tuples for MultiIndex
:否则获取MultiIndex
元组:
df = pd.concat([df1, df2], axis=1)
print (df)
(x, a) (x, b) (y, a) (y, b) alpa beta
1 21 54 4 7 9 5
2 18 23 2 4 1 3
3 10 54 8 9 10 7
IIUC, you need to make a multiindex with blank first level: IIUC,你需要做一个第一级空白的多索引:
df2.columns=pd.MultiIndex.from_product((df2.columns,['']))
pd.concat((df1,df2),axis=1)
x y alpa beta
a b a b
1 21 54 4 7 9 5
2 18 23 2 4 1 3
3 10 54 8 9 10 7
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.