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

如何使用Python从季度值字段中提取完整四位年份

实现方法

你的Qtr列是固定长度的规则字符串,结构为Q + 1位季度编号 + 2位年份后缀,不需要调用日期解析库,直接对字符串做切片拼接就能拿到目标年份,比日期解析的方案更简单高效,也不会出现格式匹配报错。

具体实现代码(pandas环境)

import pandas as pd

# 读取你的数据集,这里用样例数据做演示
df = pd.DataFrame({
    'ID': ['AA', 'AA', 'BB', 'BB'],
    'Qtr': ['Q123', 'Q123', 'Q226', 'Q327']
})

# 截取Qtr字段最后2位的年份后缀,拼接前缀20后转成整数
df['Year'] = ('20' + df['Qtr'].str[-2:]).astype(int)

执行后得到的输出完全匹配预期结果:

ID   Qtr  Year
0  AA  Q123  2023
1  AA  Q123  2023
2  BB  Q226  2026
3  BB  Q327  2027

原有代码问题说明

你之前用的datetime.datetime.strptime是用来解析标准完整日期字符串的,你的Qtr字段只有季度标识和两位年份,缺少月、日必要信息,本身不属于可被直接解析的标准日期格式,所以会运行失败。

补充说明:如果你的数据集里包含2000年之前的季度记录(对应年份为19XX),固定拼接20前缀的逻辑需要根据业务规则调整;从你给出的样例数据来看,所有年份都在2000年之后,当前写法可以直接使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 13:57:12