【发布时间】:2022-01-20 15:13:42
【问题描述】:
作为糖尿病患者,我正在分析我的连续血糖监测仪的读数。我有一个电子表格,其中记录了日期/时间、条目类型和血糖水平。每行代表一个新条目,条目可以有多种类型,例如:
- DOSE_INSULIN(注射胰岛素的单位数量),
- NEW_SENSOR(记录我更换了 CGM 传感器),或
- TEXT(任何我想记录下来的基于文本的信息)。
我要做的是创建一个新列来跟踪传感器交换之间经过的时间(以小时为单位),以便我最终可以确定传感器之间是否存在关系年龄和 BGL 控制/可变性。
这是一个预先的示例表:
| date | type |
|---|---|
| 11/21/21 12:55AM | TEXT |
| 11/21/21 1:16AM | DOSE_INSULIN |
| 11/21/21 2:05AM | NEW_SENSOR |
| 11/21/21 2:12AM | DOSE_INSULIN |
| 11/21/21 2:34AM | DOSE_INSULIN |
| 11/21/21 2:44AM | NEW_SENSOR |
这就是我希望它之后的样子:
| date | type | hours_since_new_sensor |
|---|---|---|
| 11/21/21 12:55AM | TEXT | NaN |
| 11/21/21 1:16AM | DOSE_INSULIN | NaN |
| 11/21/21 2:05AM | NEW_SENSOR | 0 |
| 11/21/21 2:12AM | DOSE_INSULIN | 0.12 |
| 11/21/21 2:34AM | DOSE_INSULIN | 0.48 |
| 11/21/21 2:44AM | NEW_SENSOR | 0 |
我发现其他一些 stackoverflow 页面也有类似的问题,但我无法根据我的具体问题调整它们。
到目前为止,我只能到达这条线:
df['date'].where(df['type'] == 'NEW_SENSOR')
据我所知,它将输出一系列(?)空值,除了类型为 NEW_SENSOR 的情况,在这种情况下它将输出该事件的日期。我不知道如何扩展它以获得我真正想要的东西。
任何帮助或建议将不胜感激,非常感谢!
【问题讨论】:
-
我认为您需要为您的表编写一个迭代函数来生成新列的小时数。
标签: python pandas dataframe datetime time-series