我正在尝试比较来自两个不同df的两个列,以从第二个df返回最后一个列,其中两个列都匹配(将'A'与'D'和'B'与'E'的比较返回值in “ F”到新列)。有方便的方法吗?
df1
A B
0 1 string1
1 4 string2
2 7 string3
3 8 string4
df2
D E F
0 0 string3 5
1 4 string2 6
2 3 string1 10
答案 0 :(得分:1)
使用以下内容:
df1.merge(df2,left_on=['A','B'],right_on=['D','E'])['F']
答案 1 :(得分:1)
您需要:
df1 = pd.DataFrame({'A':[1,4,7], 'B':['String1','String2','String3']})
df2 = pd.DataFrame({'D':[0,4,3], 'E':['String3','String2','String1'], 'F':[5,6,10]})
mask = (df1.A == df2.D) & (df1.B == df2.E)
print(df2[mask]['F'])
输出:
1 6
Name: F, dtype: int64