【问题标题】:Pandas - contains from other DFPandas - 包含来自其他 DF
【发布时间】:2021-01-27 22:43:12
【问题描述】:

我有 2 个数据框:

DF A:

和 DF B:

我需要检查 DFA['item'] 中的每一行是否包含 DFB['original'] 中的某些值,如果包含,则在 DFA['my'] 中添加新列对应DFB['my']中的值。

所以这是我需要的结果:

我很难将 DFB['original'] 转换为列表,然后使用正则表达式,但是这样我就不会从列 'my' 获得匹配结果。

【问题讨论】:

  • 您应该提供您的数据用于复制粘贴,而不是图像,因此很难为您提供帮助。但我认为你应该看看 DataFrame.merge() pandas.pydata.org/pandas-docs/stable/reference/api/…
  • 我很抱歉这些图片。从 merge() 开始 - 我无法加入列,因为 DFA 中的 item 列包含的单词比 DFB 中的多。

标签: python pandas contains


【解决方案1】:

好的,也许不是最好的解决方案,但它似乎有效。 我做了笛卡尔连接,然后检查包含所需数据的记录

dfa['join'] = 1
dfb['join'] = 1
dfFull = dfa.merge(dfb, on='join').drop('join' , axis=1)
dfFull['match'] = dfFull.apply(lambda x: x.original in x.item, axis = 1)
dfFull[dfFull['match']]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    相关资源
    最近更新 更多