如何对拆分后的多个DataFrame批量执行温度均值计算与分组聚合?
问题解决
核心问题分析
- 原循环遍历
df_dict时,默认获取的是字典的键(region名称),而非对应区域的DataFrame,导致后续操作对象错误 - 循环内对
df重新赋值不会同步更新df_dict中的数据,需要直接操作字典内的对象
修正后的代码
for region_name, df in df_dict.items(): # 计算温度平均值avg df['avg'] = (df['tmax'] + df['tmin']) / 2 # 按年份分组求avg的均值,将结果存回字典 df_dict[region_name] = df.groupby(df['date'].dt.year)['avg'].mean().reset_index(name='yearly_avg')
补充说明
- 使用
df_dict.items()同时获取区域名称和对应的DataFrame,确保操作对象正确 - 用
reset_index()将分组后的索引(年份)转为普通列,方便后续使用;如果不需要保留年份列作为普通列,可以去掉该方法 - 最终
df_dict中每个键对应的值是该区域按年份聚合后的温度均值结果
内容的提问来源于stack exchange,提问作者franz_list
相关产品推荐
相关产品推荐

