【发布时间】:2020-09-09 08:31:57
【问题描述】:
df
0 NaN
1 NaN
2 ????????
3 NaN
4 ❤
...
26368 NaN
26369 NaN
26370 NaN
26371 ????????
26372 NaN
Name: emojis, Length: 26373, dtype: object
从上面的df中,我想计算每一行中表情符号的情感分数。 如果是 NaN,则返回 NaN。
#!pip install emosent-py
from emosent import get_emoji_sentiment_rank
def emoji_sentiment(text):
return get_emoji_sentiment_rank(text)["sentiment_score"]
emoji_sentiment("????")
--> 0.221
应用于整列
df['emoji_sentiment'] = df['emojis'].apply(emoji_sentiment)
上面的代码返回KeyError: nan
预期结果:
df emoji_sentiment
0 NaN | NaN
1 NaN | NaN
2 ???????? | (a decimal number)
3 NaN | NaN
4 ❤ | (a decimal number)
...
26368 NaN | NaN
26369 NaN | NaN
26370 NaN | NaN
26371 ???????? | (a decimal number)
26372 NaN | NaN
【问题讨论】:
-
“上面的代码为每一行返回 NaN。” 如果你去掉 try-catch 会发生什么?引发的异常是什么?
-
更新了代码,我意识到如果不使用字典,for循环将无法工作,但现在有了
apply,我不知道如何修改代码..@GPhilo -
你能告诉我们整个错误信息吗?
标签: python pandas emoji sentiment-analysis