Python 3.x 如何使用csv中存储的情绪分析数据绘制多个折线图
我在做情绪分析后有数据集,数据集有第一列(日期)和第二列(情绪)Python 3.x 如何使用csv中存储的情绪分析数据绘制多个折线图,python-3.x,pandas,numpy,matplotlib,sentiment-analysis,Python 3.x,Pandas,Numpy,Matplotlib,Sentiment Analysis,我在做情绪分析后有数据集,数据集有第一列(日期)和第二列(情绪) 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,否定 以下是数据集: 我想画3张图,有正的,负的和中性的,如下所示 在x轴日期和y轴上,正/负/中性
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,否定
首先,您需要将数据按日期和情绪类型转换为分组计数
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
然后您可以通过在摘要数据框上绘制,得到如上所述的折线图
by_day_sentiment.plot()
谢谢,我帮了很多忙