pandas.Period.asfreq#

Period.asfreq(freq, how='E')#

将周期转换为所需的频率,在区间的开始或结束。

参数:
freqstr, BaseOffset

要转换 Period 对象的目标频率。如果提供的是字符串,则必须是有效的 周期别名

如何{‘E’, ‘S’, ‘end’, ‘start’}, 默认 ‘end’

指定是否将周期对齐到区间的开始或结束: - ‘E’ 或 ‘end’:对齐到区间的结束。 - ‘S’ 或 ‘start’:对齐到区间的开始。

返回:
周期具有指定频率的周期对象,与参数对齐。

参见

Period.end_time

返回结束时间戳。

Period.start_time

返回开始时间戳。

Period.dayofyear

返回一年中的某一天。

Period.dayofweek

返回星期几。

例子

将每日周期转换为每小时周期,对齐到一天的结束:

>>> period = pd.Period('2023-01-01', freq='D')
>>> period.asfreq('h')
Period('2023-01-01 23:00', 'h')

将月度周期转换为每日周期,对齐到月初:

>>> period = pd.Period('2023-01', freq='M')
>>> period.asfreq('D', how='start')
Period('2023-01-01', 'D')

将年度周期转换为月度周期,对齐到最后一个月:

>>> period = pd.Period('2023', freq='Y')
>>> period.asfreq('M', how='end')
Period('2023-12', 'M')

将每月周期转换为每小时周期,对齐到每月的第一天:

>>> period = pd.Period('2023-01', freq='M')
>>> period.asfreq('h', how='start')
Period('2023-01-01 00:00', 'H')

将每周周期转换为每日周期,对齐到一周的最后一天:

>>> period = pd.Period('2023-08-01', freq='W')
>>> period.asfreq('D', how='end')
Period('2023-08-04', 'D')