将日期时间四舍五入到最接近的秒而不是 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:SS
是00:00:00
所有被打印的数据。
您可以查看:
print (df['timestamp'].tolist())
当我将我的日期时间四舍五入到最接近的秒数时,它反而将它四舍五入到最近的一天。
我有具有以下时间戳的数据:
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:SS
是00:00:00
所有被打印的数据。
您可以查看:
print (df['timestamp'].tolist())