将情绪附加到数据框中的每个单词
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)]
我对推文进行了情绪分析,但现在我必须将情绪附加到推文文本中的每个单词。我的情绪分析基于出现在字典中的单词总和。希望这个例子能帮到你。
我试过使用这个功能,但在这里不起作用。
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)]