Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何使用csv中存储的情绪分析数据绘制多个折线图_Python 3.x_Pandas_Numpy_Matplotlib_Sentiment Analysis - Fatal编程技术网

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-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轴上,正/负/中性编号有点像这样,任何建议都会有用,谢谢

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

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

    谢谢,我帮了很多忙