python-3.x - 如何使用存储在 csv 中的情绪分析数据的 Pandas 绘制多折线图

标签 python-3.x pandas numpy matplotlib sentiment-analysis

在进行情绪分析后,我有数据集,其中有第一列(日期)和第二列(情绪)

  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 ,负面

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

我想绘制 3 个具有正、负和中性的图表,如下

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

最佳答案

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

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()

关于python-3.x - 如何使用存储在 csv 中的情绪分析数据的 Pandas 绘制多折线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55279821/

相关文章:

python - Pandas wide to long 附加字典

python - 无法导入qiskit,numpy : "' numpy. random'中的属性错误没有属性 'default_rng'“

python - 增加 NumPy 内存限制

python-3.x - Ibpy:如何捕获从 reqAccountSummary 返回的数据

Python 创建矩阵并根据列表值选择行

python-3.x - 在wireshark中解密python请求https流量

python - DataFrame 计算平均购买价格

python - python给我的解决方案是什么 "ValueError: setting an array element with a sequence."

python - 如何在 Python 中将作者身份添加到 NumPy 文档字符串

python - 如何以特定方式格式化 float ?