在Pandas Dataframe列中查找某些单词,如果找到,则将它们添加到新列中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Pandas Dataframe列中查找某些单词,如果找到,则将它们添加到新列中相关的知识,希望对你有一定的参考价值。

我有一个包含两列的CSV文件:“ Title”,“ Ingredients”,以及单词列表:[“ peanut butter, chocolate chip, pizza, ice cream, sweet potato, crock pot, steak, pan cake, green beans, cream cheese, pork chop”]。我需要在“ Ingredients”列中查找这些单词,如果在列表中找到任何单词,它们将被添加到新列:该特定行中的“ Categories”。例如:如果“ [Ingredients= ice cream, pizza, chicken;然后是“ Categories= ice cream, pizza(因为chicken不在我们的列表中)。我是Pandas的初学者,已经在互联网上搜索了可能的解决方案,但未成功。我也尝试过df[df[''].str.contains())],但无法正常工作。任何帮助,将不胜感激。

答案

IICU

数据

df2=pd.DataFrame('Ingredients':['ice cream, pizza, chicken', 'peanut butter, chocolate chip, beey, pizza'])
df2

l=['peanut butter', 'chocolate chip', 'pizza', 'ice cream', 'sweet potato', 'crock pot', 'steak', 'pan' 'cake', 'green' 'beans', 'cream' 'cheese', 'pork' 'chop']
s='|'.join(l)
s

df2['Categories']=df2.Ingredients.str.findall(s)
df2

以上是关于在Pandas Dataframe列中查找某些单词,如果找到,则将它们添加到新列中的主要内容,如果未能解决你的问题,请参考以下文章

Pandas:如何在第二个 DataFrame 的另一列中查找子字符串位置

在 Pandas DataFrame 的列中查找并替换所有匹配但不区分大小写的字符串

PANDAS 从列中找到确切的给定字符串/单词

pandas DataFrame 列中的布尔运算

如果 Pandas DataFrame 不包含某些子字符串

Pandas - 在两列中查找具有匹配值的行并在另一列中相乘