使用 Vader 的情绪分析 - 属性错误:'float'对象没有属性'encode'


import numpy as np
import pandas as pd
df=pd.read_excel('Finning2.xlsx',encoding='utf-8')
import nltk
nltk.download('vader_lexicon')
from nltk.sentiment.vader import SentimentIntensityAnalyzer
sid = SentimentIntensityAnalyzer()
 review = df['review']
 review = str(review).encode('utf-8')
 df['scores'] = df['review'].apply(lambda review:sid.polarity_scores(review))

我们需要在应用polarity_scores funtion

之前将复习列转换为字符串
    df['score'] = df['review'].apply(lambda review:sid.polarity_scores(str(review)))

尝试这个(为我工作(:

    import numpy as np
    import pandas as pd
    import nltk
    
    from nltk.sentiment.vader import SentimentIntensityAnalyzer
    df=pd.read_excel('Finning2.xlsx').astype(str)
    nltk.download('vader_lexicon')
    
    sid = SentimentIntensityAnalyzer()
    review = df['review']
    review = str(review).encode('utf-8')
    df['scores'] = df['review'].apply(lambda review:sid.polarity_scores(review))

我嘲笑了一个示例(如下所示(,但无法复制您看到的行为。您能否向我们展示如何形成数据框架或"评论"列的样本?

dict = {"population": [200.4, 143.5, 1252, 1357, 52.98]}
import pandas as pd
df = pd.DataFrame(dict)
pop = str(df['population']).encode("utf-8")
print(pop)

这是输出:

b'0     8.516n1    17.100n2     3.286n3     9.597n4     1.221nName: area, dtype: float64'

相关内容

最新更新