我的数据子集如下:
print(test)
created_at
29100988 2020-06-01 00:03:49+00:00
29100989 2020-06-01 00:03:42+00:00
29100990 2020-06-01 00:03:41+00:00
29100991 2020-06-01 00:03:37+00:00
29100992 2020-06-01 00:03:36+00:00
29100993 2020-06-01 00:03:36+00:00
29100994 2020-06-01 00:03:31+00:00
29100995 2020-06-01 00:03:17+00:00
29100996 2020-06-01 00:03:17+00:00
29100997 2020-06-01 00:03:12+00:00
现在我想使用以下代码将列created_at四舍五入到minutes:
test['created_at_Min'] = pd.to_datetime(test['created_at']).dt.round("1Min")
这会产生以下结果:
created_at created_at_Min
29100988 2020-06-01 00:03:49+00:00 2020-06-01 00:04:00+00:00
29100989 2020-06-01 00:03:42+00:00 2020-06-01 00:04:00+00:00
29100990 2020-06-01 00:03:41+00:00 2020-06-01 00:04:00+00:00
29100991 2020-06-01 00:03:37+00:00 2020-06-01 00:04:00+00:00
29100992 2020-06-01 00:03:36+00:00 2020-06-01 00:04:00+00:00
29100993 2020-06-01 00:03:36+00:00 2020-06-01 00:04:00+00:00
29100994 2020-06-01 00:03:31+00:00 2020-06-01 00:04:00+00:00
29100995 2020-06-01 00:03:17+00:00 2020-06-01 00:03:00+00:00
29100996 2020-06-01 00:03:17+00:00 2020-06-01 00:03:00+00:00
29100997 2020-06-01 00:03:12+00:00 2020-06-01 00:03:00+00:00
如你所见,当时间"00:03:17+00:00"正确四舍五入为"00:03:00+00:00",时间戳"00:03:31+00:00";四舍五入为"00:04:00+00:00"。同样的问题每隔几个小时就会出现,而我完全不知道我做错了什么。
谢谢你的帮助!
我找到了解决方案,使用test['created_at_Min'] = pd.to_datetime(test['created_at']).dt.floor("min")
代替所需的工作。