在pandas数据框中有一个datetime列,其值如下:
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
使用floor与T用于分钟设置0 seconds:
floor
T
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
我想将round时间值30sec更改为下一个值:
round
30sec
df['time'] = df['time'].dt.round('T') print (df) time 0 2018-04-11 22:19:00 1 2018-04-11 23:00:00