我正在尝试根据时间间隔对datetime列进行分组。分组时间间隔可以是5、10、15或其他。对datetime列进行分组后,需要捕获为记录的组的最新或最高datetime。然后我需要将字典列与最近的键值对合并。像这样的--
-------------------------------------------------------------------
created_date | parameter_value | device_info |
-------------------------------------------------------------------
2020-09-23 06:21:00.114104 | {'humidity': 60} | {'device':'env', 'battery':50}
2020-09-23 06:37:00.310054 | {"pressure":54} | {'device':'env', 'battery': 49}
2020-09-23 08:00:00.126441 | {'humidity':34} | {'device':'env', 'battery': 45}
2020-09-23 08:21:00.140708 | {'temperature': 35} | {'device':'env', 'battery': 40}
2020-09-23 08:25:00.099155 | {'temperature':24} | {'device':'env', 'battery': 39}
我想得到类似于--
--------------------------------------------------------------------------------------------------
created_date | parameter_value | device_info |
--------------------------------------------------------------------------------------------------
2020-09-23 06:40:00 | {'humidity': 60, "pressure":54} | {'device':'env', 'battery':49}
2020-09-23 08:00:00 | {'humidity':34} | {'device':'env', 'battery': 45}
2020-09-23 08:40:00 | {'temperature':24} | {'device':'env', 'battery':39}
我尝试使用df.groupby(pd.Grouper(key='created_date',freq='20min'))对日期时间进行分组。但是如何使用聚合函数和最新键值合并参数值列和设备信息列
将^{} 与lambda函数和合并字典一起使用,这里使用的是来自this的解决方案。lst通过将空字典转换为布尔值并使用^{} 进行筛选来删除只有空字典的行:
相关问题 更多 >
编程相关推荐