【发布时间】:2018-03-13 12:06:40
【问题描述】:
我正在尝试对从互联网上抓取的一堆文本数据进行情绪分析。我已经到了我的 Pandas DataFrame 有我希望分析以下列的地步:“post_date”(格式为 dd-mm-yyyy,即 01-10-2017)和“Sentiment”(格式为“positive”, “中性”或“否定”)。
我希望能够统计每天/每月/每年的帖子数量,以及每天的正面/中性/负面帖子数量。
例如那些由以下公司生产的产品:
print pd.value_counts(df.Sentiment)
但是我被卡住了,我已经尝试了 groupby 命令的多次迭代(如下),但不断出现错误。
df.groupby(df.post_date.dt.year)
谁能帮助我如何实现这一目标?
理想的输出应该是这样的:
Date, Postive_Posts, Negative_Posts, Neutral_Posts, Total_Posts
01/10/2017, 10, 5, 8, 23
02/10/2017, 5, 20, 5, 30
其中 date 是信息的分组方式(日、月、年等),而 pos/neg/neu 列是对应于该范围内标签计数的总帖子,最后,total_posts 是该范围内的帖子总数。
数据目前是:
post_date, Sentiment
19/09/2017, positive
19/09/2017, positive
19/09/2017, positive
20/09/2017, negative
20/09/2017, neutral
如果您需要更多信息,请告诉我。
【问题讨论】:
-
你能添加数据样本和所需的输出吗?
-
@jezrael 我已经更新了帖子,希望有意义
标签: python pandas pandas-groupby