两个具有公共列重复值的数据帧之间的 Vlookup
Vlookup between two dataframes with duplicate values for the common column
我正在尝试在两个数据帧(df1、df2)之间执行 vlookup,两个 dfs 中存在的列是 'string'。
问题是在 df1 中,我应该把值带到哪里,'string' 列有重复项,我需要把它们放在那里,所以不想或不需要删除它们,但对于所有这些我都必须带来自 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
有办法吗?
非常感谢
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'))
我正在尝试在两个数据帧(df1、df2)之间执行 vlookup,两个 dfs 中存在的列是 'string'。 问题是在 df1 中,我应该把值带到哪里,'string' 列有重复项,我需要把它们放在那里,所以不想或不需要删除它们,但对于所有这些我都必须带来自 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
有办法吗? 非常感谢
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'))