在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 的另一列中查找子字符串位置