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

Pandas如何将季度日期的4位年份格式转换为2位格式

问题结论

你当前的实现方案完全可行。Pandas 1.1.3版本已原生支持PeriodIndex解析Q[季度].[4位年份]格式的季度字符串,strftime参数中%q对应季度序号、%y对应2位年份,输出结果和你预期的格式完全匹配。

其他可选处理方案

如果你不想做日期类型转换,或者数据量较大追求更高处理性能,可以直接用字符串操作实现:

  • 正则替换法:格式固定的场景下性能最优,不需要做日期类型校验和转换
df['date'] = df['date'].str.replace(r'\.(\d{4})$', lambda m: f'.{m.group(1)[-2:]}', regex=True)
  • 日期转换后再格式化:逻辑和你现有方案类似,适合后续还要对日期做其他运算的场景
df['date'] = pd.to_datetime(df['date']).dt.to_period('Q').dt.strftime('Q%q.%y')

方案选择建议

  • 如果你的数据中存在不符合季度格式的异常值,且希望保留原异常值不报错:优先选字符串正则替换法
  • 如果后续还要对date列做季度偏移、时间差计算等操作:优先选你现有的PeriodIndex方案,保留周期类型的可运算性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 12:21:02