根据其他列值仅匹配和过滤来自不同数据框的匹配列值-Python

时间:2019-12-09 17:11:58

标签: python pandas dataframe filter match

我认为以下示例可以使我的问题更加清楚。

我想做两件事 1)根据两个列的值进行匹配,然后过滤匹配的列。 2)如下所述,根据另一个数据帧的值分配一个值。

df1

name1    value 1   
 A         1
 B         3
 C         2
 D         4
 E         2
 A         1

df2

name2      
A
G
B
H
E
A

现在,我想基于这两个数据帧的列 name1 name2。 我想为匹配和过滤的列创建另一个值。

我正在寻找类似这样的结果。

name_matched   value2
A                1
B                3
E                2 
A                1

我只是在下面尝试了一些匹配方法。

case1 = df1[df1['name1'].isin(df2['name2'])] 

case2 = df2[~df2['name2'].isin(df1['name1'])]

output = case1.append(case2, ignore_index = True)
output.head()

请问有没有人可以帮助我应对上述挑战?谢谢!

0 个答案:

没有答案