基本上我希望程序在数据帧中的行上运行 问题是将每行的每个处理值写入csv文件时,这些值将在所有行中重复,并且循环中的最后一行结果将覆盖其余值 这是我的代码:
"%.1f"
因此,我没有获得输出文件中输入的每一行的每个情感,而是获得了整个数据帧的唯一最后一个值 例如 : 评论,评分,情感 d1,1,正 d2,1,正 d3,1,正 等。
而不是 评论,评分,情感 d1,-1,负 d2,1,正 d3,1,正 等。
答案 0 :(得分:2)
您应该使用.apply()方法通过lambda遍历行。
from textblob import TextBlob
import pandas as pd
def get_sent(comment):
score = TextBlob(comment).sentiment.polarity
if score == 0:
return 'Nuetral'
elif score > 0:
return 'Positive'
else:
return 'Negative'
data = pd.read_csv('HR.csv', delimiter=',', skip_blank_lines=False, skiprows=1, names['Comments','Score','Sentiment'])
data['sentiment'] = data.apply(lambda x: get_sent(x['comments']))
data.to_csv('HR12.csv',index=False)
让我知道这是否有帮助!