📅  最后修改于: 2023-12-03 15:04:22.406000             🧑  作者: Mango
pandas.period_range()
方法用于生成一系列的周期性时间范围。它返回的是一个类似于 PeriodIndex 的 PeriodIndex 对象。
以下是 pandas.period_range()
方法的语法:
pandas.period_range(start=None, end=None, periods=None, freq=None, name=None)
start:str, Timestamp, or Period,默认值是 None。生成时间范围的开始时间。如果 start 是 str 类型,则需要传入一个有效的 dateutil.parser.parse 参数。如果 start 是 Timestamp 或 Period 类型,则必须满足设定的频率;否则,会引发 ValueError。
end:str, Timestamp, or Period,默认值为 None,区间的结束时间。如果 end 是 str 类型,则需要传入一个有效的 dateutil.parser.parse 参数。如果 end 是 Timestamp 或 Period 类型,则必须满足设定的频率;否则,会引发 ValueError。
periods:int,默认值为 None。生成时间范围内的周期数。如果 start、end 是 None,则 periods 必须被设定。
freq:str 或 DateOffset,默认值为 None。生成时间范围的重复频率。可以是 "D"、 "H"、 "M"、 "A" 等多种格式。
name:str,默认值为 None。传递一个名字给生成出来的 PeriodIndex 对象。
经过 pandas.period_range()
方法处理后,返回的是一个 PeriodIndex 对象。
以下示例按天生成了从 2019 年 1 月 1 日到 2019 年 1 月 10 日的时间范围:
import pandas as pd
pr = pd.period_range(start='2019-01-01', end='2019-01-10', freq='D')
print(pr)
输出:
PeriodIndex(['2019-01-01', '2019-01-02', '2019-01-03', '2019-01-04',
'2019-01-05', '2019-01-06', '2019-01-07', '2019-01-08',
'2019-01-09', '2019-01-10'],
dtype='period[D]', freq='D')
以下示例按周生成了从 2019 年 1 月 1 日到 2019 年 2 月 10 日的时间范围:
import pandas as pd
pr = pd.period_range(start='2019-01-01', end='2019-02-10', freq='W')
print(pr)
输出:
PeriodIndex(['2018-12-31/2019-01-06', '2019-01-07/2019-01-13',
'2019-01-14/2019-01-20', '2019-01-21/2019-01-27',
'2019-01-28/2019-02-03', '2019-02-04/2019-02-10'],
dtype='period[W-SUN]', freq='W-SUN')
以上示例按月生成了从 2019 年 1 月到 2019 年 12 月的时间范围:
import pandas as pd
pr = pd.period_range(start='2019-01', end='2019-12', freq='M')
print(pr)
输出:
PeriodIndex(['2019-01', '2019-02', '2019-03', '2019-04', '2019-05', '2019-06',
'2019-07', '2019-08', '2019-09', '2019-10', '2019-11', '2019-12'],
dtype='period[M]', freq='M')
在以上示例中,我们分别使用了 'D'(天)、'W'(周)、'M'(月)作为频率参数,生成不同的周期性时间范围。