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

Pandas按日期与站点ID分组求均值报错,求解决方法

解决pandas groupby分组报错问题

错误原因

你的代码错误地将第二个分组键作为独立参数传给了groupby()方法。groupby()的第一个参数需要接收所有分组键组成的列表,而你把df['station_id']放到了第二个参数位置(该位置实际对应axis参数),导致传入了可变的Series对象,触发"Series objects are not mutable, thus they cannot be hashed"错误。

正确写法

写法1:直接在列表中传入两个分组键

把日期提取结果和station_id放在同一个列表里作为groupby()的第一个参数:

Final_Df = df.groupby([df['date'].dt.date, 'station_id']).mean()

写法2:先创建日期列再分组(更清晰)

先把日期部分提取为新列,再指定分组列,同时可以只选择需要计算均值的字段(避免计算无意义的status_id均值):

# 新增日期列
df['date_date'] = df['date'].dt.date
# 按日期和站点ID分组,计算指定字段的均值
Final_Df = df.groupby(['date_date', 'station_id'])[['bikes available', 'docks available']].mean()

补充说明

你之前尝试替换成station_id无效,是因为分组键的列表写法错误,不是列名的问题。只要确保分组键都放在同一个列表中,无论是用df['station_id']还是直接写列名station_id都可以。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 00:52:38