使用 pandas 为存在的每个日期时间值保留最新的行
Keep the latest of rows for every date-time value present using pandas
我有一个看起来像这样的数据集,
DateTime Value
2019-06-05 12:10:31.467
2019-06-05 12:27:30.383 13371.6
2019-06-05 12:49:31.140 14020.4
2019-06-05 14:58:16.503 14045.5
2019-06-06 02:58:16.353 14095.8
2019-06-06 13:21:49.570 14020.4
2019-06-06 14:51:58.610 14095.8
2019-06-06 14:58:13.093 13066.3
2019-06-07 02:58:10.073 13273.4
我希望 pandas 代码只获取日期时间行的最新值,
DateTime Value
2019-06-05 14:58:16.503 14045.5
2019-06-06 14:58:13.093 13066.3
2019-06-07 02:58:10.073 13273.4
运行:
df.groupby(df.DateTime.dt.date).last().reset_index(drop=True)
分组在 DateTime 的日期部分,每个分组的结果
组是最后一行。
添加最后部分(reset_index)删除(重复)日期
part - 分组键。
按 df.DateTime.dt.day 分组是错误的。如果来源很明显
数据包含不同月份的日期。在这种情况下,所有行都来自
每个月的第一天将是第一组的成员,依此类推。
我有一个看起来像这样的数据集,
DateTime Value
2019-06-05 12:10:31.467
2019-06-05 12:27:30.383 13371.6
2019-06-05 12:49:31.140 14020.4
2019-06-05 14:58:16.503 14045.5
2019-06-06 02:58:16.353 14095.8
2019-06-06 13:21:49.570 14020.4
2019-06-06 14:51:58.610 14095.8
2019-06-06 14:58:13.093 13066.3
2019-06-07 02:58:10.073 13273.4
我希望 pandas 代码只获取日期时间行的最新值,
DateTime Value
2019-06-05 14:58:16.503 14045.5
2019-06-06 14:58:13.093 13066.3
2019-06-07 02:58:10.073 13273.4
运行:
df.groupby(df.DateTime.dt.date).last().reset_index(drop=True)
分组在 DateTime 的日期部分,每个分组的结果 组是最后一行。
添加最后部分(reset_index)删除(重复)日期 part - 分组键。
按 df.DateTime.dt.day 分组是错误的。如果来源很明显 数据包含不同月份的日期。在这种情况下,所有行都来自 每个月的第一天将是第一组的成员,依此类推。