如何创建一个总结多个每日概况的情节?

How to create a plot that summarizes multiple daily profiles?

我是 1 型糖尿病患者,佩戴连续血糖监测仪,每 5 分钟测量一次我的血糖水平。制作 CGM 的公司生成了一份报告,其中的图表类似于此 post 底部的图表。我的目标是学习如何在 Jupyter 笔记本中为自己重新创建此图表。

例如,我拥有的数据如下所示:

Timestamp Glucose Value (mg/dL)
2021-07-11 00:11:25 116.0
2021-07-11 00:16:25 118.0
2021-07-11 00:21:25 121.0
2021-07-11 00:26:24 123.0
2021-07-11 00:31:25 124.0

该图表使用了 30 天的数据并总结了每个时间点的值分布。是否有此类图表的名称,我如何使用 Pandas/matplotlib/seaborn 自己创建它?

到目前为止,我已尝试使用按天划分的 IQR 创建图表,这相当简单 - 使用 ploty:

glucose['Day'] = glucose['Timestamp'].dt.day_name()

fig = px.box(glucose, x="Day", y="Glucose Value (mg/dL)",
         points="all", color='Day')
fig.show()

但现在我不确定如何轻松计算特定时间段的 IQR 并取平均值。

非常感谢您的帮助!

借助 Joe 在评论中提供的链接回答我自己的问题:

我能够按小时对数据框进行分组,然后使用 .quantile 生成一个新的数据框,其中行为小时,列为 10%、25%、50%、75% 和 90%。从那里开始,只需使用 matplotlib 进行简单格式化即可复制原始格式。

grouped = df.groupby([df['Timestamp'].dt.hour])
i = grouped['bgl'].quantile([.1, .25, .5, .75, .9]).unstack()

非常感谢乔!