Python 熊猫:将时间增量列四舍五入到15秒
我的数据框如下所示:Python 熊猫:将时间增量列四舍五入到15秒,python,pandas,Python,Pandas,我的数据框如下所示: time1-high 0 18008 days 00:00:04 1 18008 days 00:00:11 2 18008 days 00:32:44 3 18008 days 01:16:19 4 18008 days 02:28:50 5 18008 days 02:30:37 6 18008 days 04:48:37 7 18008 days 09:57:19 8 18008 days 10:19:30 我想要的是:
time1-high
0 18008 days 00:00:04
1 18008 days 00:00:11
2 18008 days 00:32:44
3 18008 days 01:16:19
4 18008 days 02:28:50
5 18008 days 02:30:37
6 18008 days 04:48:37
7 18008 days 09:57:19
8 18008 days 10:19:30
我想要的是:
time1-high
0 18008 days 00:00:15
1 18008 days 00:00:15
2 18008 days 00:32:45
3 18008 days 01:16:30
4 18008 days 02:29:00
5 18008 days 02:30:45
6 18008 days 04:48:45
7 18008 days 09:57:30
8 18008 days 10:19:30
dtype: timedelta64[ns]
我们的想法是将每秒钟修改为15
中最接近的倍数。因此,在第一行0 18008天00:00:04
中,应将其更改为0 18008天00:00:15
,4 18008天02:28:50
到4 18008天02:29:00
等。。。我在这件事上有点纠结。有没有一个功能可以自动做到这一点?谢谢 与15S一起使用
:
df['new1'] = df['time1-high'].dt.ceil(freq='15S')
print (df)
time1-high new1
0 18008 days 00:00:04 18008 days 00:00:15
1 18008 days 00:00:11 18008 days 00:00:15
2 18008 days 00:32:44 18008 days 00:32:45
3 18008 days 01:16:19 18008 days 01:16:30
4 18008 days 02:28:50 18008 days 02:29:00
5 18008 days 02:30:37 18008 days 02:30:45
6 18008 days 04:48:37 18008 days 04:48:45
7 18008 days 09:57:19 18008 days 09:57:30
8 18008 days 10:19:30 18008 days 10:19:30