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

如何从给定日期中提取对应年份的季度标识

2020年日度数据季度标识提取实现方案

以下是不同工具场景下的可直接复用实现方案:

Excel/WPS 实现方案

  • 提前确认日期列为标准日期格式,而非文本格式
  • 两种可选公式,直接替换公式内的A2为实际日期单元格位置,下拉填充即可:
    1. 严格贴合给定规则的区间判断写法:
      =IF(AND(A2>=DATE(2020,1,1),A2<=DATE(2020,3,31)),"2020-Q1",IF(AND(A2>=DATE(2020,4,1),A2<=DATE(2020,6,30)),"2020-Q2",IF(AND(A2>=DATE(2020,7,1),A2<=DATE(2020,9,30)),"2020-Q3",IF(AND(A2>=DATE(2020,10,1),A2<=DATE(2020,12,31)),"2020-Q4","超出2020年范围"))))
    2. 简化计算写法:
      =IF(YEAR(A2)=2020,"2020-Q"&CEILING(MONTH(A2)/3,1),"超出2020年范围")

Python 实现方案

依赖pandas处理结构化数据,两种写法输出结果完全一致:

import pandas as pd
# 先把日期列转为标准datetime格式,df为你的数据集,date_col替换为实际日期列名
df['date_col'] = pd.to_datetime(df['date_col'])

# 写法1:严格按给定区间判断
def get_2020_quarter(date):
    if pd.Timestamp('2020-01-01') <= date <= pd.Timestamp('2020-03-31'):
        return '2020-Q1'
    elif pd.Timestamp('2020-04-01') <= date <= pd.Timestamp('2020-06-30'):
        return '2020-Q2'
    elif pd.Timestamp('2020-07-01') <= date <= pd.Timestamp('2020-09-30'):
        return '2020-Q3'
    elif pd.Timestamp('2020-10-01') <= date <= pd.Timestamp('2020-12-31'):
        return '2020-Q4'
    else:
        return '非2020年日期'
df['quarter_tag'] = df['date_col'].apply(get_2020_quarter)

# 写法2:大数据量更高效的内置方法写法
df['quarter_tag'] = df['date_col'].dt.to_period('Q').astype(str).where(df['date_col'].dt.year == 2020, '非2020年日期')

SQL 实现方案

MySQL 写法

-- daily_data为表名,dt为日期字段名,可按需替换
SELECT 
    dt,
    CASE 
        WHEN dt BETWEEN '2020-01-01' AND '2020-03-31' THEN '2020-Q1'
        WHEN dt BETWEEN '2020-04-01' AND '2020-06-30' THEN '2020-Q2'
        WHEN dt BETWEEN '2020-07-01' AND '2020-09-30' THEN '2020-Q3'
        WHEN dt BETWEEN '2020-10-01' AND '2020-12-31' THEN '2020-Q4'
        ELSE '超出2020年范围'
    END AS quarter_tag
FROM daily_data;

Hive/Spark SQL 简化写法

SELECT 
    dt,
    IF(year(dt)=2020, concat('2020-Q', quarter(dt)), '超出2020年范围') AS quarter_tag
FROM daily_data;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 08:24:04