【问题标题】:Plot line plot per weekday and week number绘制每个工作日和周数的线图
【发布时间】:2020-04-02 12:47:36
【问题描述】:

我有以下数据。这表示一月份的出现次数:

date      value    WeekDay WeekNo Year   Month
2018-01-01  214.0   Monday  1    2018    1
2018-01-02  232.0   Tuesday 1    2018    1
2018-01-03  147.0   Wed     1    2018    1
2018-01-04  257.0   Thursd  1    2018    1
2018-01-05  164.0   Friday  1    2018    1
2018-01-06  187.0   Saturd  1    2018    1
2018-01-07  201.0   Sunday  1    2018    1
2018-01-08  141.0   Monday  2    2018    1
2018-01-09  152.0   Tuesday 2    2018    1
2018-01-10  167.0   Wednesd 2    2018    1
2018-01-15  113.0   Monday  3    2018    1
2018-01-16  139.0   Tuesday 3    2018    1
2018-01-17  159.0   Wednesd 3    2018    1
2018-01-18  202.0   Thursd  3    2018    1
2018-01-19  207.0   Friday  3    2018    1
...         ...        ...       ...    ...

WeekNo 是一年中的第几周。

我的目标是制作一个线图,显示这个特定月份每周数的事件演变。因此,我希望每周在 x 轴上显示工作日,在 y 轴上显示不同的行,每行都有不同的颜色(以及与每周对应的颜色的图例)。

有谁知道如何做到这一点?非常感谢!

【问题讨论】:

    标签: python datetime matplotlib


    【解决方案1】:

    您可以首先将数据框重新调整为列是周数和每个工作日一行的格式。然后,使用plotpandas 方法:

    reshaped = (df
                .assign(date=lambda f: pd.to_datetime(f.date))
                .assign(dayofweek=lambda f: f.date.dt.dayofweek, 
                        dayname=lambda f: f.date.dt.weekday_name)
                .set_index(['dayofweek', 'dayname', 'WeekNo'])
                .value
                .unstack()
                .reset_index(0, drop=True))
    
    print(reshaped)
    reshaped.plot(marker='x')
    
    WeekNo         1      2      3
    dayname                       
    Monday     214.0  141.0  113.0
    Tuesday    232.0  152.0  139.0
    Wednesday  147.0  167.0  159.0
    Thursday   257.0    NaN  202.0
    Friday     164.0    NaN  207.0
    Saturday   187.0    NaN    NaN
    Sunday     201.0    NaN    NaN
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-30
      • 1970-01-01
      • 1970-01-01
      • 2019-11-02
      相关资源
      最近更新 更多