首页 > 解决方案 > Python Pandas Dataframe 在单元格中搜索文本

问题描述

这是我在 stackoverflow 上的第一篇文章:) 我已经开始学习 python 和 pandas 库。我在单元格数据框中查找文本时遇到问题。

程序:

导入两个文件 csv(这里没问题):

1数据框:

Column1  | Column2
546852   | Lorem ipsum dolor sit amet
248597   | Amet luctus venenatis lectus magna fringilla.
842457   |  Neque egestas congue quisque egestas.
8465     | Amet luctus venenatis lectus
648      |  Neque egestas congue 
55       | Lorem ipsum dolor 

2数据框:

DATA 
Lorem 
Lectus 
Congue
etc.

我的问题:如何从 1Dataframe.columna2 中的 2dataframe(Lorem、Lectus、Congue 等)中找到单词并生成具有 3 列的数据框:

Column1  | Column2                                                | Column3 
546852   | **Lorem** ipsum dolor sit amet                         | Lorem 
248597   | Amet **luctus** venenatis lectus magna fringilla.      | Lectus 
842457   |  Neque egestas **congue** quisque egestas.             | Congue 
8465     | Amet **luctus** venenatis lectus                       | Lectus 
648      |  Neque egestascongue  **congue**                       | Congue  
55       | **Lorem** ipsum dolor                                  | Lorem

我搜索了谷歌,但没有找到任何解决方案。最后,我敢在stackoverflow上写帖子:)

标签: pythonpandasdataframesearch

解决方案


这是一种方式:


def find_elements(row):
    for element in df2.Data.unique():
        if row.Column2.str.contains(element):
            return element

df3 = df1.copy()
df3["Column3"] = df3.apply(find_elements, axis=1)

这应该可行,当然,您可以找到其他方法来做到这一点。

编辑:如@vb_rises 所述,如果多个单词在同一个句子中,该函数将只返回第一个匹配项。


推荐阅读