我对tweets做了一个情绪分析,但是现在我必须把情绪附加到tweet文本中的每个单词上。我的情绪分析是基于一本词典中出现的一组词。我希望这个例子能帮助你。
我试过使用这个函数,但在这里不起作用。

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

最佳答案

使用(word, sentiment)可以轻松地构造itertools.repeat元组:

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)]

关于python - 将情感附加到数据框中的每个单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52793833/

10-12 18:33