我正在尝试在两个数据帧(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
有没有办法做到这一点? 提前谢谢
答案 0 :(得分:1)
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'))