python - 检查熊猫数据框中的单元格是否包含列表中的元素
问题描述
我有一个包含两列的数据框:一列用于主题,另一列带有话语。话语类似于“播放音乐”、“播放麦当娜”或“听迈克尔杰克逊”。我有一个包含艺术家姓名的列表,现在想检查数据框的单元格中是否有艺术家姓名。
对于单字名称,我有这个解决方案:(我使用 spacy 进行 nlp 处理)
for row in range(0,nrows):
text = df.loc[row]['utt']
words = nlp(text)
for word in words:
if word.text in artists:
df.loc[row]['utt'] = text.replace(word.text, format_artist(word.text))
if word.text in albums:
df.loc[row]['utt'] = text.replace(word.text, format_album(word.text))
如果有艺术家姓名或专辑标题,则该词将被替换为不同的格式。
现在的问题是它无法识别像“michael jackson”这样的东西,因为它正在逐字检查。
谢谢您的帮助!
解决方案
推荐阅读
- php - 如何确保 php 语法检查在 Eclipse 中有效
- python - 将 ipython 作为非交互式脚本运行
- r - 在 R 中加载包 fPortfolio 时出现问题
- c# - 省略特定序列化的某些字段
- c++ - Linked List Print() 函数打印字符的ASCII码
- android - 使用 ConstraintLayout 将 ChipGroup 与 ImageView 对齐
- google-bigquery - DataStudio 在 BQ 中的物化视图上生成的查询现在从 approx_count_distinct 函数返回 BYTES 的签名
- reactjs - React Formik Form - 当用户切换表单选项卡时记住字段的值
- azure - ADF 使用复制数据更改接收器中数据类型的列
- php - Composer 在 vendor/package 文件夹中安装 mercurial .hg 目录