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

Pandas基于日期列按月筛选提取12/1/2月数据的方法

提取指定月份记录的实现方法

首先确保你的date列是pandas标准的时间格式,如果当前列是字符串类型,先执行格式转换:

import pandas as pd
sst_df['date'] = pd.to_datetime(sst_df['date'])

直接通过.dt.month访问时间列的月份属性,配合isin()做筛选即可,不需要处理字符串补零、匹配的问题:

# 筛选12月、1月、2月的冬季数据
winter_df = sst_df[sst_df['date'].dt.month.isin([12, 1, 2])].copy()

针对你给出的示例数据,执行上述代码后返回的结果如下:

date     sst
1 1997-12-15  16.745
2 1998-01-15  16.009
3 1998-02-15  15.792

如果需要拆分其他季节的独立DataFrame,用相同逻辑即可:

  • 春季(3-5月):spring_df = sst_df[sst_df['date'].dt.month.isin([3,4,5])].copy()
  • 夏季(6-8月):summer_df = sst_df[sst_df['date'].dt.month.isin([6,7,8])].copy()
  • 秋季(9-11月):autumn_df = sst_df[sst_df['date'].dt.month.isin([9,10,11])].copy()

注意:筛选后加.copy()是为了避免后续修改子集时触发pandas的SettingWithCopyWarning警告,如果只是做查询分析可以省略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 15:51:19