我需要组合两个数据帧的列(具有非常多的条目),以便第一个 DF 的一列是另一列的索引。为了解释,这里是一些示例代码df1 = pd.DataFrame({'ID': ['ID1', 'ID2', 'ID3', 'ID4'],'Feature': ['Feature1', 'Feature2', 'Feature3', 'Feature2'],},index=[0, 1, 2, 3])df2 = pd.DataFrame({'Feature': ['Feature1', 'Feature2', 'Feature3'],'Property1': ['Property11', 'Property12', 'Property13'],'Property2': ['Property21', 'Property22', 'Property23']},index=[0, 1, 2])df2.set_index('Feature', inplace=True)我希望输出是这样的 ID Feature Property1 Property20 ID1 Feature1 Property11 Property211 ID2 Feature2 Property12 Property222 ID3 Feature3 Property13 Property233 ID4 Feature2 Property11 Property22
2 回答
慕斯709654
TA贡献1840条经验 获得超5个赞
一个简单的合并
df1.merge(df2, left_on='Feature', right_index=True)
Out[264]:
ID Feature Property1 Property2
0 ID1 Feature1 Property11 Property21
1 ID2 Feature2 Property12 Property22
3 ID4 Feature2 Property12 Property22
2 ID3 Feature3 Property13 Property23
慕妹3242003
TA贡献1824条经验 获得超6个赞
将其他数据框的索引设置为要加入的列,然后重置索引:
df_result = df2.join(df1.set_index('Feature')).reset_index()
添加回答
举报
0/150
提交
取消