根据Pandas 0.19.2文档,我可以提供 keys 参数来创建生成的多索引DataFrame。一个例子(来自pandas文档)是:
result = pd.concat(frames, keys=['x', 'y', 'z'])
如何连接数据框,以便我可以在列级别而不是索引级别提供密钥?
我基本上需要的是这样的事情:
其中df1和df2是concat。
答案 0 :(得分:3)
指定keys
时,axis=1
的{{1}}参数支持此功能:
df1 = pd.DataFrame(np.random.random((4, 4)), columns=list('ABCD'))
df2 = pd.DataFrame(np.random.random((4, 3)), columns=list('BDF'), index=[2, 3, 6, 7])
df = pd.concat([df1, df2], keys=['X', 'Y'], axis=1)
结果输出:
X Y
A B C D B D F
0 0.654406 0.495906 0.601100 0.309276 NaN NaN NaN
1 0.020527 0.814065 0.907590 0.924307 NaN NaN NaN
2 0.239598 0.089270 0.033585 0.870829 0.882028 0.626650 0.622856
3 0.983942 0.103573 0.370121 0.070442 0.986487 0.848203 0.089874
6 NaN NaN NaN NaN 0.664507 0.319789 0.868133
7 NaN NaN NaN NaN 0.341145 0.308469 0.884074