Python - 总结推文 DataFrame
Python - Summarizing Tweets DataFrame
我正在处理 Twitter 情绪分析,针对某些特定关键字挖掘推文。
我能够存储推文并对其进行处理,生成情绪和主观性等。
我有一个包含 200 个关键字的列表,我在这些关键字上提取推文并将它们存储并一起处理。
但是,我需要根据我拥有的所有推文对其进行总结。我已经创建了专栏。
由于每条推文都可以有多个关键字,我认为没有一种干净的方法可以做到这一点。我的解决方案是从关键字中创建一个 pd.Series
,然后使用 apply
循环关键字。
假设您上面提供的列表在变量 keywords
中,推文 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)]))
我正在处理 Twitter 情绪分析,针对某些特定关键字挖掘推文。
我能够存储推文并对其进行处理,生成情绪和主观性等。
我有一个包含 200 个关键字的列表,我在这些关键字上提取推文并将它们存储并一起处理。
但是,我需要根据我拥有的所有推文对其进行总结。我已经创建了专栏。
由于每条推文都可以有多个关键字,我认为没有一种干净的方法可以做到这一点。我的解决方案是从关键字中创建一个 pd.Series
,然后使用 apply
循环关键字。
假设您上面提供的列表在变量 keywords
中,推文 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)]))