【发布时间】:2017-09-29 14:02:18
【问题描述】:
我正在尝试对来自社交网络的大量数据进行情绪分析。这部分代码适用于小数据量。
输入大小小于 20mb 计算没有问题。但如果大小超过 20mb,我会收到内存错误。
环境:Windows 10、anaconda 3.x 以及更新的版本包。
代码:
def captionsenti(F_name):
print ("reading from csv file")
F1_name="caption_senti.csv"
df=pd.read_csv(path+F_name+".csv")
filename=path+F_name+"_"+F1_name
df1=df['tweetText'] # reading caption from data5 file
df1=df1.fillna("h") # filling NaN values
df2=pd.DataFrame()
sid = SentimentIntensityAnalyzer()
print ("calculating sentiment")
for sentence in df1:
#print(sentence)
ss = sid.polarity_scores(sentence) # calculating sentiments
#print ss
df2=df2.append(pd.DataFrame({'tweetText':sentence ,'positive':ss['pos'],'negative':ss['neg'],'neutral':ss['neu'],
'compound':ss['compound']},index=[0]))
df2=df2.join(df.set_index('tweetText'), on='tweetText') # joining two data frames
df2=df2.drop_duplicates(subset=None, keep='first', inplace=False)
df2=df2.dropna(how='any')
df2=df2[['userID','tweetSource','tweetText','positive','neutral','negative','compound','latitude','longitude']]
#print df2
print ("Storing in csv file")
df2.to_csv(filename,encoding='utf-8',header=True,index=True,chunksize=100)
为了避免内存错误,我需要添加哪些额外内容 我在这里先向您的帮助表示感谢。
【问题讨论】:
标签: python pandas csv nltk sentiment-analysis