【发布时间】:2019-04-07 02:43:18
【问题描述】:
我有两个具有(不一定)相同索引和列名的 pandas DataFrame。
>>> df_L = pd.DataFrame({'X': [1, 3],
'Y': [5, 7]})
>>> df_R = pd.DataFrame({'X': [2, 4],
'Y': [6, 8]})
我可以将它们连接在一起并分配后缀。
>>> df_L.join(df_R, lsuffix='_L', rsuffix='_R')
X_L Y_L X_R Y_R
0 1 5 2 6
1 3 7 4 8
但我想要的是在“X”和“Y”下制作“L”和“R”子列。
所需的 DataFrame 如下所示:
>>> pd.DataFrame(columns=pd.MultiIndex.from_product([['X', 'Y'], ['L', 'R']]),
data=[[1, 5, 2, 6],
[3, 7, 4, 8]])
X Y
L R L R
0 1 5 2 6
1 3 7 4 8
有没有一种方法可以将两个原始 DataFrame 组合起来以获得所需的 DataFrame?
【问题讨论】: