提取2个数据帧之间的匹配信息

时间:2020-07-31 10:11:37

标签: python pandas

我必须具有以下内容的2个数据帧df1和df2:

In [1]: df1
Out[1]: 
          text                  
0 ABC ZZ KEY778 20225 
1 XXX11 K ABC 14452GXX
2 ABC ZZ AZZXG112 
3 DCB AA112G AXXX
4 DCB AA15G AXR12-1

In [2]: df2
Out[2]: 
  A         B                             
0 ABC ZZ    KEY778 
1 XXX11     XXX11 K            
2 ABC        
3 DCB       AA112G AXXX
     

我想检查df1的text列的内容中是否存在df2的A列或B列的内容。如果是真的,我在df1中创建2个新列(分别用于A和B),并将此对应的元素放入。 最终结果应该是这样的:

In [3]: df1
Out[3]: 
          text                 correspondingA      correspondingB
0 ABC ZZ KEY778 20225          ABC ZZ              KEY778 
1 XXX11 K ABC 14452GXX         XXX11               XXX11 K
2 ABC ZZ AZZXG112              ABC
3 DCB AA112G AXXX              DCB                 AA112G AXXX
4 DCB AA15G AXR12-1            DCB                 

预先感谢您的帮助

1 个答案:

答案 0 :(得分:0)

在df2列A中,您确实在df1的第一行中存在“ ABC ZZ”,但与此同时,在df2中,您的“ ABC”也存在于df1的第一行中,因此Im不确定要在对应的A列中放入什么数据。

另外,如果您只想检查df2的第2行和df1的第2行,那么我们还有另一个问题,因为df1的行比df2多。
无论哪种方式,都不确定您想做什么