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

pandas pivot_table使用count聚合后出现多级列索引的原因

问题原因

你调用pd.pivot_table时没有显式指定values参数,pandas默认会对除了index、columns指定列之外的所有数值列(你场景中是col3、col4)分别执行聚合计算。列索引的第一级是参与聚合的原始列名,第二级是columns参数指定的col2的取值,最终就生成了多级列索引。

解决方法
  • 方法1:调用pivot_table时指定values参数,任选一个无缺失值的原始数值列即可,因为count聚合下所有无缺失值的列统计结果一致:
pd.pivot_table(df, index='col1', columns='col2', values='col3', aggfunc='count', fill_value=0.0)
  • 方法2:如果已经生成了带多级列的结果,可以直接提取第一级列下的任意分组,或者删除第一级列索引:
# 已经生成结果res的情况下,直接提取col3对应的分组,就是你要的结构
res = res['col3']
# 或者直接删除第一级列索引
res.columns = res.columns.droplevel(0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:24:04