我有一个时间序列,我想按一天中的小时(不管日期)对行进行分组,并将其可视化为箱线图。所以我想要24个方框图,从第一小时开始,然后是第二小时,然后是第三小时,依此类推。你知道吗
在我看来,这种工作方式是将数据集分成24个系列(一天中每小时1个),为每个系列创建一个箱线图,然后在相同的轴上绘制。你知道吗
我能想到的唯一方法是手动选择每个小时之间的所有值,有没有更快的方法?你知道吗
一些示例数据:
Date Actual Consumption
2018-01-01 00:00:00 47.05
2018-01-01 00:15:00 46
2018-01-01 00:30:00 44
2018-01-01 00:45:00 45
2018-01-01 01:00:00 43.5
2018-01-01 01:15:00 43.5
2018-01-01 01:30:00 43
2018-01-01 01:45:00 42.5
2018-01-01 02:00:00 43
2018-01-01 02:15:00 42.5
2018-01-01 02:30:00 41
2018-01-01 02:45:00 42.5
2018-01-01 03:00:00 42.04
2018-01-01 03:15:00 41.96
2018-01-01 03:30:00 44
2018-01-01 03:45:00 44
2018-01-01 04:00:00 43.54
2018-01-01 04:15:00 43.46
2018-01-01 04:30:00 43.5
2018-01-01 04:45:00 43
2018-01-01 05:00:00 42.04
这是我迄今为止尝试过的:
zero = df.between_time('00:00', '00:59')
one = df.between_time('01:00', '01:59')
two = df.between_time('02:00', '02:59')
然后我会在同一个轴上为每一个画一个箱线图。然而,一天24小时都这样做是非常乏味的。你知道吗
这就是我想要的输出: https://www.researchgate.net/figure/Boxplot-of-the-NOx-data-by-hour-of-the-day_fig1_24054015
有两个步骤可以实现这一点:
将实际时间转换为日期时间:
按小时分组:
我假设你想把消费加起来(除非你想改变它)。注意:hour+1,所以它将从1开始,而不是从0开始(如果您希望0是午夜,请删除它)。你知道吗
期望结果:
相关问题 更多 >
编程相关推荐