python - 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上写帖子:)
解决方案
这是一种方式:
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 所述,如果多个单词在同一个句子中,该函数将只返回第一个匹配项。
推荐阅读
- android - 将数据从 Native 传回 Flutter
- regex - 是否可以在一次解析中使用正则表达式反转文件中的所有括号?
- javascript - 如何使用 jQuery 在两个链接的、填充有 JSON 下拉列表的选项中预先选择一个选项?
- javascript - 如何检查javascript中的数组中是否存在值?
- antd - 如何让antd modal有圆角
- flutter - Flutter:访问 GridView Stream 元素内的未来值
- html - 如何在整个页面css周围创建空白区域
- excel - 如何将非相邻列中的单元格逐行组合成一个单元格
- node.js - ValidationException:所需键之一未指定值(Localstack,AWS)
- xml - 限制用户仅在员工视图中显示他们的记录