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

使用Pandas的groupby与Grouper分组datetime对象时出错求助

年度分组分析问题的解决步骤

第一个报错的原因与解决

  • 报错本质:max_ground_temp(°C)列包含“Value not available”这类非数值内容,计算均值时无法完成类型转换,触发TypeError。
  • 解决步骤:
    1. 先清理目标列的异常值,将非数值内容转为NaN:
      df['max_ground_temp(°C)'] = pd.to_numeric(df['max_ground_temp(°C)'], errors='coerce')
      
    2. 再执行分组求均值操作,NaN会被自动排除:
      dff = df.groupby(df.earth_time.dt.year)['max_ground_temp(°C)'].mean()
      

第二个报错的原因与解决

  • 报错本质:pd.Grouper的level参数用于指定索引层级,但earth_time是普通数据列而非索引,参数使用错误导致ValueError。
  • 解决步骤:
    使用key参数指定日期列,若需按自然年(每年1月1日为起始)统计,可将freq='Y'改为freq='AS',示例代码:
    # 前提:earth_time已转为datetime类型,max_ground_temp列已完成异常值清理
    df_grouped = df.groupby(pd.Grouper(key='earth_time', freq='AS'))['max_ground_temp(°C)'].mean()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 00:57:33