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

带MultiIndex的DataFrame按列层级分组求最大值方案咨询

解决方案

错误原因

  • 未指定axis=1参数:groupby默认按行维度(axis=0)执行分组,你需要按列维度的第二级索引分组,必须显式指定axis=1。你之前的写法默认按行分组,传入的分组键长度正好匹配行的数量,分组后列还是全部500列,所以得到100×500的错误结果。
  • 分组键选择错误:df.columns.levels[1]返回的是第二级索引的去重唯一值列表,长度仅为100,和DataFrame总列数500不匹配,无法和列一一对应完成正确分组。

正确实现

使用df.columns.get_level_values(1)获取每一列对应的第二级索引值作为分组键,该返回值长度和总列数完全匹配,同时指定按列分组即可,该写法同时兼容Pandas和Dask DataFrame,不需要用到level参数:

# 按列的第二级索引分组,取同组最大值
result = df.groupby(df.columns.get_level_values(1), axis=1).max()

执行后result.shape为(100, 100),正好对应你需要的输出网格,每个值就是对应网格点到所有路径点的最大距离。

内容的提问来源于stack exchange,提问作者A.Gharbi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 09:06:04