Python:轮询时间(不带日期)到最近的秒



我一直看到这个问题的datetime的情况,但没有一个只有时间。

我有一个这样的时间栏:

0   16:19:01.600000
1   16:20:02.700000
2          16:20:18
3   16:21:03.400000
4   16:21:49.200000

要将时间四舍五入到秒,所以它是16:19:02,16:20:03,等等,我尝试先用下面的代码将时间列转换为datetime:

# Converting time to datetime (again)
pd.to_datetime(trip_28["time"], format="%H:%M:%S")

返回:

unconverted data remains: .600000

那么意图是使用:

# Rounding the time column to seconds
trip_28["time"] = trip_28["time"].dt.floor('1s')

我怎样才能使它工作?

尝试pd.DatetimeIndex.round,频率设置为S

从docs

pd.Series(rng).dt.round("H")
0   2018-01-01 12:00:00
1   2018-01-01 12:00:00
2   2018-01-01 12:00:00

freq='S':

转换为日期时间和四舍五入
>>> pd.to_datetime(df['Date']).dt.round(freq='S')
0   2021-08-03 16:19:02
1   2021-08-03 16:20:03
2   2021-08-03 16:20:18
3   2021-08-03 16:21:03
4   2021-08-03 16:21:49
Name: Date, dtype: datetime64[ns]

最新更新