python - 如何在python中绘制每个工作日和每小时的数据
问题描述
我想通过显示每小时和工作日的自行车数量的平均值来绘制我的时间序列(自行车)数据。
这是初始数据的摘录:
date nb_bike
2019-09-20 12:00:00 15
2019-09-20 13:00:00 10
2019-09-20 14:00:00 17
2019-09-20 15:00:00 12
2019-09-20 16:00:00 24
我以这种方式计算了每个工作日和每小时的平均值:
data_b = data_b_init.groupby([data_b_init.index.weekday.rename('wkday'),data_b_init.index.hour.rename('hour')]).mean()
data_b = data_b.reset_index()
所以我想绘制这些数据(这里是摘录):
data_b
wkday hour nb_bike_mean
0 0 0.44
0 1 0.11
0 2 0.00
0 3 0.11
0 4 0.00
0 5 0.67
0 6 0.78
0 7 6.44
0 8 13.83
0 9 9.78
我想做这样的事情:如何每小时绘制数据,按天分组? (尤其像这张图:
但我不知道如何通过只保留工作日和时间信息而不是几天来做到这一点。
例如,我尝试了以下代码:
sns.lineplot(x='hour',y='nb_bike_mean',data=data_b, hue='wkday')
但这不是我想要的,因为我想要 x 轴上的 wkday 和 hour。
您知道在 x 轴上绘制 2 个级别的方法吗?
或者更好的是,将 wkday 和 hour 识别为 datetime 并将它们作为 index 加入?
解决方案
推荐阅读
- javascript - 为什么javascript写成宽度
- powerbi - Can an Azure table be split on partition keys in PowerBI?
- python - SQLAlchemyAutoSchema 是否选择混合属性?
- python - 将 Django 部署到 Heroku 时:ModuleNotFoundError: No module named 'dotenv'
- python - 有没有办法避免json中的重复值?
- c# - 使用 C# 连接到 SkypeOnlineConnector
- python - SettingWithCopyWarning:试图在 DataFrame WARNING 中的切片副本上设置值
- c - 有没有办法在 GTK/GLib 中有精确的定时事件?
- javascript - 循环和组合产品的最佳方式
- javascript - 如何在 ReactJS 中使用 youtube onPlay={} 函数?