python - PANDAS 从列中找到确切的给定字符串/单词
问题描述
因此,我有一个 pandas 列名称Notes,其中包含对某些事件的句子或解释。我正在尝试从该列中找到一些给定的单词,当我找到该单词时,我将其作为类型添加到下一列
问题是对于某些特定的词,例如Liar,Lies它像熟悉和家庭这样的词,因为它们都有骗子和谎言。
Notes Type
2 families are living in the address Lies
He is a liar Liar
We are not familiar with this Liar
从上面可以看出,只有第二句话是正确的。我怎么只拿起像骗子,谎言而不是家庭或熟悉这样的单独词。
这是我的方法,
word= ["Lies"]
for i in range(0, len(df)):
for f in word:
if f in df["Notes"][i]:
df["Type"][i] = "Lies"
感谢任何帮助。谢谢
解决方案
用于\b
中的单词边界 regex
,并.str.extract
查找模式:
df.Notes.str.extract(r'\b(lies|liar)\b')
要标记包含该单词的那些行,请执行以下操作:
df['Type'] = np.where(df.Notes.str.contains(r'\b(lies|liar)\b'), 'Lies', 'Not Lies')
推荐阅读
- php - ffmpeg:通过 php xampp (mac) 运行 ffmpeg 时找不到
- salesforce - 如何使用同一个连接的应用程序访问多个 Salesforce 组织
- php - Php 没有错误消息,但插入的数据没有出现在 phpmyadmin 的表中
- python - TensorFlow 图像处理错误:“TypeError:'MapDataset' 对象不可下标”
- python - 如何将我的 pythonOperator(ShortCircuitOperator) 中的值传递给我的 postgresOperator 到 Airflow 中的红移查询
- dask - 在 SageMath 中运行时使用 Dask 会引发 ImportError
- javascript - 如何在Javascript中用旧数组制作新数组
- c# - 如何在不知道匹配返回的 json 数据中的所有值的情况下从 .Net 核心中的 Web api 调用创建模型?
- rdcomclient - 安装 R (D)COM Server V1.35 并与 Excel 集成时出现“找不到连接器”错误
- python - 为什么类方法找不到对象初始化中定义的属性?