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

如何在Pandas中基于月份列数值新增对应季节标识的新列

解决方法

你当前的DataFrame以Month作为行索引,可通过以下两种常用方式实现季节列新增,匹配你给出的规则:12、1、2月为冬季,3-5月为春季,6-8月为夏季,9-11月为秋季:

  • 方法1:字典映射(逻辑直观,自定义修改方便)
# 定义月份-季节映射规则
season_dict = {
    1: '冬季', 2: '冬季', 12: '冬季',
    3: '春季', 4: '春季', 5: '春季',
    6: '夏季', 7: '夏季', 8: '夏季',
    9: '秋季', 10: '秋季', 11: '秋季'
}
# 索引映射生成新列
df['Season'] = df.index.map(season_dict)
  • 方法2:pd.cut分箱(适合规则统一的批量分类场景,代码更简洁)
import pandas as pd
# 定义分箱边界和对应标签,right=True表示区间左开右闭
bins = [0, 2, 5, 8, 11, 12]
labels = ['冬季', '春季', '夏季', '秋季', '冬季']
df['Season'] = pd.cut(df.index, bins=bins, labels=labels, right=True)

补充说明:如果后续你的Month调整为普通数据列而非索引,只需要将上述代码中的df.index替换为df['Month']即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 04:06:02