比较多个不同长度的熊猫列以访问最后一列

时间:2019-02-06 10:20:30

标签: python pandas

我正在尝试比较来自两个不同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

2 个答案:

答案 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