我知道圓形、天花板、地板功能。
df.index.round("30min")
這四舍五入到最接近的 30 分鐘間隔。我想要的是每個四舍五入到 30 分鐘。
在 .round 的情況下,10:15 將四舍五入到 10:30 和 10:45 到 11:00。我希望兩者都四舍五入到 10:30。
日期時間索引:
DatetimeIndex(['2021-11-29 09:30:00', '2021-11-29 09:45:00',
'2021-11-29 10:00:00', '2021-11-29 10:15:00',
'2021-11-29 10:30:00', '2021-11-29 10:45:00',
'2021-11-29 11:00:00', '2021-11-29 11:15:00',
'2021-11-29 11:30:00', '2021-11-29 11:45:00',
...
'2021-12-27 13:30:00', '2021-12-27 13:45:00',
'2021-12-27 14:00:00', '2021-12-27 14:15:00',
'2021-12-27 14:30:00', '2021-12-27 14:45:00',
'2021-12-27 15:00:00', '2021-12-27 15:15:00',
'2021-12-27 15:30:00', '2021-12-27 15:45:00'],
dtype='datetime64[ns]', name='Datetime', length=520, freq=None)
uj5u.com熱心網友回復:
DatetimeIndex.floor按小時使用并添加 30 分鐘:
df = pd.DataFrame(index=pd.DatetimeIndex(
['2021-11-29 09:30:00', '2021-11-29 09:45:00',
'2021-11-29 10:00:00', '2021-11-29 10:15:00',
'2021-11-29 10:30:00', '2021-11-29 10:45:00',
'2021-11-29 11:00:00', '2021-11-29 11:15:00',
'2021-11-29 11:30:00', '2021-11-29 11:45:00',
'2021-12-27 13:30:00', '2021-12-27 13:45:00',
'2021-12-27 14:00:00', '2021-12-27 14:15:00',
'2021-12-27 14:30:00', '2021-12-27 14:45:00',
'2021-12-27 15:00:00', '2021-12-27 15:15:00',
'2021-12-27 15:30:00', '2021-12-27 15:45:00']))
print (df.index.floor("1H") pd.Timedelta('30min'))
DatetimeIndex(['2021-11-29 09:30:00', '2021-11-29 09:30:00',
'2021-11-29 10:30:00', '2021-11-29 10:30:00',
'2021-11-29 10:30:00', '2021-11-29 10:30:00',
'2021-11-29 11:30:00', '2021-11-29 11:30:00',
'2021-11-29 11:30:00', '2021-11-29 11:30:00',
'2021-12-27 13:30:00', '2021-12-27 13:30:00',
'2021-12-27 14:30:00', '2021-12-27 14:30:00',
'2021-12-27 14:30:00', '2021-12-27 14:30:00',
'2021-12-27 15:30:00', '2021-12-27 15:30:00',
'2021-12-27 15:30:00', '2021-12-27 15:30:00'],
dtype='datetime64[ns]', freq=None)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/396952.html
