如何在不覆盖先前值的情况下将循环写入数据帧

时间:2020-02-09 07:14:24

标签: python pandas dataframe

基本上我希望程序在数据帧中的行上运行 问题是将每行的每个处理值写入csv文件时,这些值将在所有行中重复,并且循环中的最后一行结果将覆盖其余值 这是我的代码:

"%.1f"

因此,我没有获得输出文件中输入的每一行的每个情感,而是获得了整个数据帧的唯一最后一个值 例如 : 评论,评分,情感 d1,1,正 d2,1,正 d3,1,正 等。

而不是 评论,评分,情感 d1,-1,负 d2,1,正 d3,1,正 等。

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)

让我知道这是否有帮助!