将日期时间四舍五入到最接近的秒而不是 returns 日期四舍五入到天

Rounding datetime to the nearest second instead returns date rounded to day

当我将我的日期时间四舍五入到最接近的秒数时,它反而将它四舍五入到最近的一天。

我有具有以下时间戳的数据:

    timestamp
1   2018-06-01 23:59:59.894110
2   2018-06-01 23:59:59.894110
3   2018-06-01 23:59:59.894110
4   2018-06-01 23:59:59.894110
5   2018-06-01 23:59:59.894110

我想将它们四舍五入到最接近的秒数以去掉毫秒数。 所以首先我转换为 datetime 对象: df['timestamp'] = pd.to_datetime(df['timestamp'], format = '%Y-%m-%d %H:%M:%S.%f')

现在轮到我 运行: df['timestamp'] = df.timestamp.dt.round('1s')

这就是它 returns:

1   2018-06-01
2   2018-06-01
3   2018-06-01
4   2018-06-01
5   2018-06-01

出于某种原因,它删除了 HH:MM:SS 部分。 我做错了什么?

For some reason, it drops the HH:MM:SS part. What am I doing wrong?

它没有被删除,只是没有被显示,因为HH:MM:SS00:00:00所有被打印的数据。

您可以查看:

print (df['timestamp'].tolist())