看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas.period_range
是 pandas 中用于生成时间区间序列(PeriodIndex
)的函数。它根据指定的起止时间、时间频率等参数,返回一个包含时间区间的 PeriodIndex
,广泛用于时间序列分析、频率转换和周期性数据处理。
PeriodIndex
,其中每个元素是一个 Period
对象,表示特定的时间区间。pandas.period_range(
start=None,
end=None,
periods=None,
freq=None,
name=None
)
start
(可选)
'2024-01'
)或 Period
对象。'2024-01-01'
或 pd.Period('2024-01', freq='M')
。end
(可选)
Period
对象。periods
(可选)
start
和 end
,此参数不能指定。freq
(可选)
None
。常用频率包括:'D'
:日'M'
:月'Q'
:季度'Y'
:年'H'
:小时'T'
:分钟'S'
:秒name
(可选)
PeriodIndex
的名称。PeriodIndex
对象。生成时间区间序列:
时间索引:
DataFrame
或 Series
。周期性数据处理:
按月生成从 2024 年 1 月到 2024 年 12 月的时间区间:
import pandas as pd
# 生成从 2024 年 1 月到 12 月的月份区间
periods = pd.period_range(start='2024-01', end='2024-12', freq='M')
print(periods)
输出:
PeriodIndex(['2024-01', '2024-02', '2024-03', '2024-04', '2024-05', '2024-06',
'2024-07', '2024-08', '2024-09', '2024-10', '2024-11', '2024-12'],
dtype='period[M]')
生成从 2024 年 1 月开始的连续 6 个月:
periods = pd.period_range(start='2024-01', periods=6, freq='M')
print(periods)
输出:
PeriodIndex(['2024-01', '2024-02', '2024-03', '2024-04', '2024-05', '2024-06'],
dtype='period[M]')
按季度生成从 2023 年 Q1 到 2024 年 Q4 的时间区间:
periods = pd.period_range(start='2023Q1', end='2024Q4', freq='Q')
print(periods)
输出:
PeriodIndex(['2023Q1', '2023Q2', '2023Q3', '2023Q4', '2024Q1', '2024Q2',
'2024Q3', '2024Q4'],
dtype='period[Q-DEC]')
生成从 2020 年到 2025 年的年度区间:
periods = pd.period_range(start='2020', end='2025', freq='Y')
print(periods)
输出:
PeriodIndex(['2020', '2021', '2022', '2023', '2024', '2025'], dtype='period[A-DEC]')
生成从 2024-01-01 12:00 开始的 10 个小时区间:
periods = pd.period_range(start='2024-01-01 12:00', periods=10, freq='H')
print(periods)
输出:
PeriodIndex(['2024-01-01 12:00', '2024-01-01 13:00', '2024-01-01 14:00',
'2024-01-01 15:00', '2024-01-01 16:00', '2024-01-01 17:00',
'2024-01-01 18:00', '2024-01-01 19:00', '2024-01-01 20:00',
'2024-01-01 21:00'],
dtype='period[H]')
为生成的时间区间命名为 "Quarters":
periods = pd.period_range(start='2023Q1', end='2024Q4', freq='Q', name='Quarters')
print(periods)
输出:
PeriodIndex(['2023Q1', '2023Q2', '2023Q3', '2023Q4', '2024Q1', '2024Q2',
'2024Q3', '2024Q4'],
dtype='period[Q-DEC]', name='Quarters')
频率必须一致:
start
或 end
,时间格式需与 freq
一致(如月频率对应 '2024-01'
)。ValueError
。start
、end
和 periods
的组合:
start
和 end
,或 start
和 periods
)。频率的多样性:
参数情况:
参数 | 描述 |
---|---|
start |
起始时间,字符串或 Period 对象。 |
end |
结束时间,字符串或 Period 对象。 |
periods |
时间区间的数量,与 start 或 end 配合使用。 |
freq |
时间区间的频率(如 D 、M 、Q 、Y 等)。 |
name |
给返回的 PeriodIndex 命名。 |
更新时间:2024-12-07 09:30:55 标签:pandas python 时间区间