如何迭代一个 Dataframe 列中的每个值,并检查它是否包含另一个 Dataframe 列中的单词?
a = pd.DataFrame({'text': ['the cat jumped over the hat', 'the pope pulled on the rope', 'i lost my dog in the fog']})
b = pd.DataFrame({'dirty_words': ['cat', 'dog', 'parakeet']})
a
text
0 the cat jumped over the hat
1 the pope pulled on the rope
2 i lost my dog in the fog
b
dirty_words
0 cat
1 dog
2 parakeet
我想获取仅包含以下值的新 Dataframe :
result
0 the cat jumped over the hat
1 i lost my dog in the fog
3条答案
按热度按时间zf9nrax11#
在用空格分隔字符串之后,可以使用
any
的列表解析,这个方法不会因为包含“cat”而包含“catheter”。bjg7j2ky2#
使用与
str.contains
匹配的正则表达式。单词边界确保您不会仅仅因为“catch”包含“cat”就匹配它(感谢@DSM)。
hxzsmxv23#
我认为可以在
str.split
之后使用isin