I have this series:
30478 2021-06-15 16:23:04.388 30479 2021-06-15 16:23:19.734 30480 2021-06-15 16:23:35.239 30481 2021-06-15 16:23:50.721 30482 2021-06-15 16:24:06.056
Initially, I wanted to round to seconds by doing:
df["timestamp"].dt.round('1s') >> 30478 2021-06-15 16:23:04 30479 2021-06-15 16:23:20 30480 2021-06-15 16:23:35 30481 2021-06-15 16:23:51 30482 2021-06-15 16:24:06
However, I am trying to merge this dataset to another of higher frequency. So I’d like to round the decimal places of the timestamp instead.
Example: 2021-06-15 16:23:04.388 would become 2021-06-15 16:23:04.380
How can I do this? to a timestamp?
Advertisement
Answer
If .388
should become .380
we can dt.floor
to the nearest 10 ms with:
df['timestamp'].dt.floor('10ms')
or
df['timestamp'].dt.floor('10L')
30478 2021-06-15 16:23:04.380 30479 2021-06-15 16:23:19.730 30480 2021-06-15 16:23:35.230 30481 2021-06-15 16:23:50.720 30482 2021-06-15 16:24:06.050 Name: timestamp, dtype: datetime64[ns]