首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果列x字符串位于列y字符串中,则联接数据帧

如果列x字符串位于列y字符串中,则联接数据帧
EN

Stack Overflow用户
提问于 2019-10-25 03:59:55
回答 1查看 30关注 0票数 0

尝试根据表A中的值是否在表B中的值来连接2个数据帧

代码语言:javascript
复制
df1={Table_A: ABC, BCD-1, BCD-2}
df2={Table_B: ABC-1, BCD-1, BCD-2}

下面的直接连接返回以下内容

代码语言:javascript
复制
df3=pd.merge(df1,df2,left_on='Table_A',right_on='Table_B',how='outer')

Post Join Current Output

如果df1.Table_A在df2.Table_B中,我正在尝试做一些事情

Post Join Desired Output

这就是我所想的,bit显然对我不起作用。

代码语言:javascript
复制
df3=pd.merge(df1,df2,on=df1['Table_A'].isin(df2['Table_B']),how='outer')
EN

回答 1

Stack Overflow用户

发布于 2019-10-25 04:37:39

这是模糊合并,我为此编写了一个函数:fuzzy_merge

代码语言:javascript
复制
from fuzzywuzzy import fuzz
from fuzzywuzzy import process

fuzzy_merge(df1,df2,'Table_A','Table_B')

  Table_A matches
0     ABC   ABC-1
1   BCD-1   BCD-1
2   BCD-2   BCD-2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58548394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档