Python-总结推文数据帧
我正在处理Twitter情绪分析,挖掘特定关键字的推特 我能够存储推文并对其进行处理,产生情感和主观性等 我有一个200个关键字的列表,我在上面提取推文,存储它们并一起处理它们 但是,我需要根据我所有的推文来总结这一点。我已经创建了一个专栏Python-总结推文数据帧,python,python-3.x,pandas,numpy,sentiment-analysis,Python,Python 3.x,Pandas,Numpy,Sentiment Analysis,我正在处理Twitter情绪分析,挖掘特定关键字的推特 我能够存储推文并对其进行处理,产生情感和主观性等 我有一个200个关键字的列表,我在上面提取推文,存储它们并一起处理它们 但是,我需要根据我所有的推文来总结这一点。我已经创建了一个专栏 因为每条推文都可以有多个关键词,所以我认为没有一个干净的方法可以做到这一点。我的解决方案是用关键字创建一个pd.Series,并使用apply循环遍历关键字 假设上面提供的列表在变量关键字中,tweets的DataFrame在df中。我还假设总体情绪得分是最
因为每条推文都可以有多个关键词,所以我认为没有一个干净的方法可以做到这一点。我的解决方案是用关键字创建一个pd.Series,并使用apply循环遍历关键字 假设上面提供的列表在变量关键字中,tweets的DataFrame在df中。我还假设总体情绪得分是最常见的情绪,总体主观情绪是平均值
def summarize(data):
"""
Extract the statistics for a given sub-dataframe
"""
return pd.Series({
"total_tweets" : len(data)
"total_retweets" : data.retweet_count.sum()
"total_favorites" : data.favorite_count.sum()
"total_comments" : data.reply_count.sum()
"overall_sentiment_score" : data.sentiment.mode().loc[0]
"overall_subjectivity" : data.subjectivity.mean()
})
s = pd.Series(keywords)
res = s.apply(lambda word: summarize(df[df.text.str.contains(word)]))
有两个关键词的tweet在表中算两次吗?总体情绪是什么?这是模式吗?那么,总体的主观性是平均水平吗?@tmrlvi,总体的情绪是按类别或搜索词划分的平均水平,但它不起作用。请检查CSV文件,我在上面的问题中附加了,我在pd.Series中添加了所有逗号,并删除了.loc[0]。但是我得到的是空的、NaNs的和0s的。错误id指向>总体情绪情绪评分:data.interaction.mode.iloc[0],indexer:single positional indexer超出了范围,因为对于某些关键字,它是nan或empty的,所以它抛出了错误。我对您的解决方案做了一些更改,它成功了。谢谢。