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

如何将Pandas DataFrame中的日期列按指定季节规则分类?

正确实现日期列按季节分类的方法

实现思路

  1. 将列名转换为日期格式,提取月份信息,避免手动识别每个日期的月份
  2. 定义月份与季节的映射规则,实现批量列名替换
  3. 可选:按季节对数据进行聚合(如求和、均值等)

完整代码

import pandas as pd

# 原DataFrame
a = pd.DataFrame({'11-12-2018':[20,38,44,51],
                  '21-01-2018':[33,49,51,68],
                  '11-02-2018':[57,66,71,80],
                  '03-08-2018':[33,47,51,50],
                  '11-06-2018':[44,60,71,80],
                  '23-07-2018':[12,23,45,55]},index=list(range(1,5))) 

# 1. 把列名转为日期格式,提取月份
date_cols = pd.to_datetime(a.columns, format='%d-%m-%Y')
month_list = date_cols.month

# 2. 定义月份到季节的映射字典
season_map = {
    1: 'Winter', 2: 'Winter', 12: 'Winter',
    6: 'Summer', 7: 'Summer', 8: 'Summer'
}

# 3. 批量替换列名为对应季节
a.columns = [season_map[month] for month in month_list]

# 可选:按季节聚合数据(以求和为例)
season_summary = a.groupby(a.columns, axis=1).sum()
print(season_summary)

说明

这种方法无需手动指定每一列,不管有多少日期列都能自动匹配季节,比手动重命名更高效且不易出错。如果需要聚合同季节的列数据,直接用groupby即可完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 11:02:58