看过来
《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 时间区间