【发布时间】:2016-03-07 08:57:17
【问题描述】:
我有一列数据时间,格式为:2015-06-25 03:29:58,我相信它在 datetime64 中。 我想将它们四舍五入到最接近的十分钟。
即
2015-06-25 03:29:58 = 2015-06-25 03:30:00
2015-06-25 03:24:58 = 2015-06-25 03:20:00
2015-06-25 03:59:58 = 2015-06-25 04:00:00
我已经到处寻找这个问题的答案,有几个线程和解决方案来解决舍入时间,比如这个: How do I round datetime column to nearest quarter hour
但是这种方法只能向下取整,不能向上取整。
我还看到了其他解决方案,但无法弄清楚如何将它们应用于数据框中的日期时间。
我尝试了很多不同的版本:
from pandas import *
import datetime
rounded_ten = lambda dt: datetime.datetime(dt.year, dt.month, dt.day,(dt.hour), 10*(round(dt.minute/10)))
dataframe1['Device Time'] = dataframe1['Device Time'].apply(rounded_ten)
但这不起作用,因为当您向上舍入 55 时,它给出的答案是 60。这在这种格式中是不可接受的。 我想应用一些 if 语句,但是我不明白如何将它们应用到这种格式。
任何帮助将不胜感激。
【问题讨论】: