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

在两个具有公共列重复值的数据帧之间进行 Vlookup

在两个具有公共列重复值的数据帧之间进行 Vlookup

慕慕森 2023-10-18 15:50:28
我正在尝试在两个数据帧(df1、df2)之间执行 vlookup,两个 dfs 中存在的列都是“字符串”。问题是,在 df1 中,我应该带上值,“字符串”列有重复项,我需要将它们放在那里,所以,不想或不需要删除它们,但对于所有这些,我必须带上值来自 df2。我的 dfs 看起来像这样df1                                   df2                     expected result(keep df1)string   col2                      `string        random          string         col2       A                                      A         something         A             somethingA                                      B         something         A             somethingA                                      C         something         A             somethingB                                                                  B             somethingB                                                                  B             somethingB                                                                  B             somethingC                                                                  C             somethingC                                                                  C             somethingC                                                                  C             something有办法做到这一点吗?提前谢谢了
查看完整描述

1 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

df1 = pd.DataFrame([

['A', '-'],['A', '-'],['A', '-'],

['B', '-'],['B', '-'],['B', '-'],

['C', '-'],['C', '-'],['C', '-'],

], columns=['string', 'col2'])


df2 = pd.DataFrame([

['A', 'something'],

['B', 'something1'],

['C', 'something3'],

], columns=['string', 'random'])


print(df1, '\n\n',df2)

result_df = df1.set_index('string').join(df2.set_index('string'))


查看完整回答
反对 回复 2023-10-18
  • 1 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

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