📜  Python| pandas.period_range() 方法(1)

📅  最后修改于: 2023-12-03 15:04:22.406000             🧑  作者: Mango

Python | pandas.period_range() 方法

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'(月)作为频率参数,生成不同的周期性时间范围。