首页 > 解决方案 > 提取2个数据帧之间的匹配信息

问题描述

我必须具有以下内容的 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
     

我想检查df2的A或B列的内容是否存在于df1的文本列的内容中。如果是真的,我在 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                 

预先感谢您的帮助

标签: pythonpandas

解决方案


在 df2 A 列中,您有 'ABC ZZ' 确实存在于 df1 的第一行,但同时,在 df2 中,您有 'ABC' 也确实存在于 df1 的第一行,所以我不确定是什么你会把数据放在对应的A列上吗?

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


推荐阅读