为了账号安全,请及时绑定邮箱和手机立即绑定

两个 DataFrame 与条件的组合

两个 DataFrame 与条件的组合

qq_遁去的一_1 2022-05-11 16:32:32
我需要组合两个数据帧的列(具有非常多的条目),以便第一个 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


查看完整回答
反对 回复 2022-05-11
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

将其他数据框的索引设置为要加入的列,然后重置索引:

df_result = df2.join(df1.set_index('Feature')).reset_index()


查看完整回答
反对 回复 2022-05-11
  • 2 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信