You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将'%Y%q'格式的季度数据转换为Pandas的PeriodIndex?

整数格式季度数据转PeriodIndex的解决方案

针对整数类型的季度数据(格式为%Y%q,例如200001代表2000年第1季度),可以通过两种简洁方法转换为PeriodIndex:

方法一:字符串替换法

先将整数转为字符串,通过正则替换生成标准季度格式,再构造PeriodIndex:

import pandas as pd

# 假设你的数据列是df['quarter']
str_quarters = df['quarter'].astype(str)
period_idx = pd.PeriodIndex(str_quarters.str.replace(r'(\d{4})0?(\d)', r'\1Q\2'), freq='Q-DEC')

正则表达式(\d{4})0?(\d)会匹配前4位年份,同时提取末尾的季度数字(忽略可能的前导0),替换为年份Q季度的格式。

方法二:数学拆分法

通过整数运算直接拆分年份和季度,再传入PeriodIndex构造:

import pandas as pd

years = df['quarter'] // 100  # 提取前4位年份
quarters = df['quarter'] % 100  # 提取后2位季度
period_idx = pd.PeriodIndex(year=years, quarter=quarters, freq='Q-DEC')

这种方法无需字符串操作,直接通过数学运算提取核心信息,效率更高。

两种方法最终都会得到你期望的结果:

PeriodIndex(['2000Q1', '2000Q2', ..., '2024Q3'], dtype='period[Q-DEC]')

内容的提问来源于stack exchange,提问作者Faraz Masroor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 15:27:07