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

如何在Python中将日期转换为季度标识?

把日期列转换为年份季度标识(如2018q1)的解决方案

没问题!我来帮你快速实现将日期列转换成YYYYqQ格式的季度标识需求。用Pandas处理这类日期转换非常顺手,我给你一步步演示:

步骤说明

  • 首先要把字符串格式的日期转换成Pandas能识别的datetime类型,这样才能提取年份和季度信息
  • 然后从datetime列中分别提取年份和季度,再拼接成你想要的格式

完整代码示例

import pandas as pd

# 你的原始数据集
data = [ {'date': '3/22/18', 'quarter': 1}, {'date': '3/22/18', 'quarter': 1}, 
         {'date': '6/22/18', 'quarter': 3}, {'date': '6/22/18', 'quarter': 3}, 
         {'date': '9/22/18', 'quarter': 2}, {'date': '9/22/18', 'quarter': 2}]
df = pd.DataFrame(data, index=['s1', 's2','s1','s2','s1','s2'])

# 1. 将字符串日期转为datetime类型
df['date'] = pd.to_datetime(df['date'])

# 2. 生成目标季度标识列
df['quarter_label'] = df['date'].dt.year.astype(str) + 'q' + df['date'].dt.quarter.astype(str)

# 查看处理后的结果
print(df)

代码解释

  • pd.to_datetime(df['date']):自动识别你的MM/DD/YY格式日期,将字符串转为datetime对象
  • df['date'].dt.year:提取日期对应的年份,转成字符串后用于拼接
  • df['date'].dt.quarter:提取日期对应的季度(1=1-3月,2=4-6月,3=7-9月,4=10-12月),同样转成字符串拼接
  • 最终得到的quarter_label列就是你需要的2018q1、2018q2这类格式

另外注意:你原始数据里的quarter列值存在错误(比如6月22日应该对应Q2,但你写的是3),用上面的方法就能得到正确的季度标识哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:18:00