猿问

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

我正在尝试在两个数据帧(df1、df2)之间执行 vlookup,两个 dfs 中存在的列都是“字符串”。问题是,在 df1 中,我应该带上值,“字符串”列有重复项,我需要将它们放在那里,所以,不想或不需要删除它们,但对于所有这些,我必须带上值来自 df2。


我的 dfs 看起来像这样


df1                                   df2                     expected result(keep df1)


string   col2                      `string        random          string         col2       

A                                      A         something         A             something

A                                      B         something         A             something

A                                      C         something         A             something

B                                                                  B             something

B                                                                  B             something

B                                                                  B             something

C                                                                  C             something

C                                                                  C             something

C                                                                  C             something

有办法做到这一点吗?提前谢谢了


慕慕森
浏览 117回答 1
1回答

POPMUISE

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'))
随时随地看视频慕课网APP

相关分类

Python
我要回答