如何使用存储在csv中的情感分析数据的Pandas绘制多个折线图

问题描述 投票:1回答:1

我有数据集做完情绪分析后有第1列(日期)和第2列(情绪)

  1. 2019-03-19,正面2019-03-19,负面2019-03-19,中性 2019-03-19,正面2019-04-19,正面2019-04-19,中性 2019-04-19,正面2019-04-19,正面2019-04-19,利好 2019-05-19,正面2019-05-19,负面2019-05-19,正面 2019-05-19,否定

这是DataSet:https://drive.google.com/file/d/1jlmuzFi9OS3mBWjgQvQuKGdNzan708R6/view?usp=sharing

我想绘制具有正,负和中性的图3,如下所示

在x轴日期和y轴没有正/负/中性有点像这样任何建议将有用谢谢enter image description here

python-3.x pandas numpy matplotlib sentiment-analysis
1个回答
1
投票

首先,您需要按天和情绪类型将数据转换为分组计数,

df = pd.read_csv('path-to-data/raw-Hospital.csv', header=None, 
                 names=['date', 'text', 'sentiment'], parse_dates=['date',])

by_day_sentiment = df.groupby([pd.Grouper(key='date', freq='D'), 'sentiment']) \
    .size().unstack('sentiment')

这会给你计数数据,

sentiment   negative  neutral  positive
date                                   
2019-03-10         2       13        42
2019-03-11        15       58        81
2019-03-12        11       61        70
2019-03-13         5      158       110
2019-03-14         2      110       182
2019-03-15        11       80       216
2019-03-16         7       58        66
2019-03-17         2       31        53
2019-03-18        11       87       137
2019-03-19         2       24        53

然后你可以通过在摘要DataFrame上绘图来获得如上所示的折线图,

by_day_sentiment.plot()
© www.soinside.com 2019 - 2024. All rights reserved.