将情绪附加到数据框中的每个单词

Attach sentiment to each word from a dataframe

我对推文进行了情绪分析,但现在我必须将情绪附加到推文文本中的每个单词。我的情绪分析基于出现在字典中的单词总和。希望这个例子能帮到你。

我试过使用这个功能,但在这里不起作用。

def append_sentiment(sentences, sentiment):
return [(word, sentiment) for sentence in sentences
                          for word in sentence.split()]

append_sentiment(df['text'], df['score'])

示例:

id | text | score

12 | I like this | 2

想要的结果:

id | text | score

12 | ('I', 2), ('like', 2), ('this', 2) | 2

您可以使用 itertools.repeat:

轻松构建 (word, sentiment) 元组
from itertools import repeat

mapped = df.apply(lambda row: list(zip(row.text.split(), repeat(row.score))), axis=1)
print(mapped)
0    [(I, 2), (like, 2), (this, 2)]