在pandas数据框中有一个日期时间列,其值如下:
time
2018-04-11 22:18:30.122
2018-04-11 23:00:21.399
我想知道如何舍入这些值,摆脱毫秒,而仅将日期,小时,分钟和00表示为秒,例如:
time
2018-04-11 22:18:00
2018-04-11 23:00:00
答案 0 :(得分:2)
将T
的{{3}}与0 seconds
一起使用几分钟,
#if necessary
#df['time'] = pd.to_datetime(df['time'])
df['time'] = df['time'].dt.floor('T')
#alternative solution
#df['time'] = df['time'].dt.floor('Min')
print (df)
time
0 2018-04-11 22:18:00
1 2018-04-11 23:00:00
我希望30sec
更改为下一个后的时间为floor
:
df['time'] = df['time'].dt.round('T')
print (df)
time
0 2018-04-11 22:19:00
1 2018-04-11 23:00:00
答案 1 :(得分:2)
好吧,ceil也可以解决这个问题。
np.