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

Pandas如何按年份汇总YYYY-MM-DD格式日期对应数值并实现查询函数

问题根因

  • 未将日期列Dygn转换为pandas datetime类型,无法提取年份做筛选
  • 变量a直接写在字符串'a-01-01'中不会被解析,无法匹配到对应日期区间,该写法完全无效
  • 直接用完整的YYYY-MM-DD格式日期列和年份字符串做等值判断,逻辑错误,没有任何匹配结果
  • 求和计算后的结果没有赋值存储,return语句引用的row变量未定义,无有效返回值
  • 未将df作为参数传入函数,存在变量作用域隐患

解决步骤

  1. 先将日期列转换为datetime格式,执行以下代码:
    df['Dygn'] = pd.to_datetime(df['Dygn'], format='%Y-%m-%d')

  2. 替换原有函数为如下写法:

def rain_year(year, df):
    # 匹配指定年份的所有行,对降雨量列求和返回
    return df.loc[df['Dygn'].dt.year == int(year), 'ederbörd(mm)'].sum()

# 调用测试
print(rain_year("1995", df))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:06:03