Python Pandas – 将DateTimeIndex按单个单位的倍数舍入
要以单个单位的倍数为频率将DateTimeIndex舍入,请使用 DateTimeIndex.round() 方法。将 freq 参数设置为频率。
首先,导入所需的库 –
import pandas as pd
具有周期为5和频率为H即小时的DatetimeIndex –
datetimeindex = pd.date_range('2021-09-29 07:20:32.261811624', periods=5,
tz='Australia/Adelaide', freq='H')
显示DateTimeIndex –
print("DateTimeIndex...\n", datetimeindex)
将DateTimeIndex按照10分钟频率,即单个单位的倍数进行舍入。对于分钟频率,我们使用“T” –
print("\n执行具有单个单位频率倍数的舍入操作...\n",
datetimeindex.round(freq='10T'))
示例
以下是代码 –
import pandas as pd
# 具有周期为5和频率为H即小时的DatetimeIndex
# 时区为澳大利亚/阿德莱德
datetimeindex = pd.date_range('2021-09-29 07:20:32.261811624', periods=5,
tz='Australia/Adelaide', freq='H')
# 显示DateTimeIndex
print("DateTimeIndex...\n", datetimeindex)
# 显示DateTimeIndex频率
print("DateTimeIndex frequency...\n", datetimeindex.freq)
# 将DateTimeIndex按照10分钟频率,即单个单位的倍数进行舍入
# 对于分钟频率,我们使用“T”
print("\n执行具有单个单位频率倍数的舍入操作...\n",
datetimeindex.round(freq='10T'))
输出
这将产生以下代码 –
DateTimeIndex...
DatetimeIndex(['2021-09-29 07:20:32.261811624+09:30',
'2021-09-29 08:20:32.261811624+09:30',
'2021-09-29 09:20:32.261811624+09:30',
'2021-09-29 10:20:32.261811624+09:30',
'2021-09-29 11:20:32.261811624+09:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq='H')
DateTimeIndex frequency...
<Hour>
执行具有单个单位频率倍数的舍入操作...
DatetimeIndex(['2021-09-29 07:20:00+09:30',
'2021-09-29 08:20:00+09:30',
'2021-09-29 09:20:00+09:30',
'2021-09-29 10:20:00+09:30',
'2021-09-29 11:20:00+09:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq=None)
极客教程