我的数据框有时间戳值,我希望将时间戳四舍五入到高分钟。
但我没有得到理想的输出。 我使用以下链接做同样的事情:
[1]: http://stackoverflow.com/questions/32344533/how-do-i-round-datetime-column-to-nearest-quarter-hour/32344636
我怎么能用熊猫做到这一点?
example: output:
05:06:34 05:07
05:09:43 05:10
答案 0 :(得分:0)
您可以编写一个向上舍入到最近的分钟的函数:
<强>代码:强>
import datetime as dt
def round_up_to_minute(timestamp):
return timestamp + dt.timedelta(
seconds=60-timestamp.second,
microseconds=-timestamp.microsecond)
测试代码:
要将其应用于数据框,您可以执行以下操作:
now = dt.datetime.now()
now_plus = now + dt.timedelta(minutes=1)
df = pd.DataFrame(data=[[now, now], [now_plus, now_plus]],
columns=['datetime', 'datetime_rounded'])
df['datetime_rounded'] = df['datetime_rounded'].apply(round_up_to_minute)
print(df)
<强>结果:强>
datetime datetime_rounded
0 2017-03-06 07:36:54.794 2017-03-06 07:37:00
1 2017-03-06 07:37:54.794 2017-03-06 07:38:00