将数据框中一列的字符串与列表中的一组单词进行比较

Compare strings of a column in a dataframe with a set of words in a list

我有一个包含推文的单列 full_text 的数据框,还有一个包含否定词的列表 negative。我想创建一个新列,如果在推文中找到否定词 10 如果找不到,则 returns 布尔值。

好的,假设我们有一个数据框 data 和列表 negative_words,如下所示:

data = pd.DataFrame({
    'Tweets' : ['This is bad', 'This is terrible', 'This is good', 'This is great'],
})

negative_words = ['bad', 'terrible']

然后我们可以这样做:

1) 我们可以使用 lambda 函数与 any:

# create lambda with any:
data['Negative'] = data.apply(lambda x: True if any(word in x.Tweets for word in negative_words) else False, axis=1)

并会得到:

             Tweets  Negative
0       This is bad      True
1  This is terrible      True
2      This is good     False
3     This is great     False