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

如何去除Pandas中describe生成的DataFrame嵌套列索引?

处理Pandas多级列索引的两种方法

我创建了一个DataFrame,经melt转换后通过groupby('variable').describe()生成统计摘要,但结果存在嵌套列索引。需要将其处理为两种格式:一是移除上层索引,仅保留统计指标列名;二是将嵌套索引合并为如value/count的组合列名。

原始代码

import pandas as pd
import numpy as np
df_rand = pd.DataFrame(np.random.randint(0, 100, size=(100, 4)), columns=list('ABCD'))
df_rand = pd.melt(df_rand, value_vars=list('ABCD'))
df_rand_summary = df_rand.groupby('variable').describe().reset_index(drop=True)

当前输出(含嵌套列索引)

value                                                 
   count   mean        std  min    25%   50%    75%   max
0  100.0  50.01  27.402534  0.0  28.00  52.5  73.00  99.0
1  100.0  49.85  29.836042  0.0  22.75  54.0  79.25  99.0
2  100.0  46.57  30.491017  0.0  19.75  40.0  76.00  99.0
3  100.0  53.27  28.303855  0.0  28.75  55.5  77.25  99.0

方案1:移除上层索引,仅保留统计指标列名

直接通过droplevel(0)移除多级索引的上层,或者手动指定列名列表:

# 方法1:用droplevel快速移除上层索引
df_rand_summary.columns = df_rand_summary.columns.droplevel(0)

# 方法2:手动指定列名(适用于明确知道列名的场景)
# df_rand_summary.columns = ['count', 'mean', 'std', 'min', '25%', '50%', '75%', 'max']

执行后输出

count   mean        std  min    25%   50%    75%   max
0  100.0  50.01  27.402534  0.0  28.00  52.5  73.00  99.0
1  100.0  49.85  29.836042  0.0  22.75  54.0  79.25  99.0
2  100.0  46.57  30.491017  0.0  19.75  40.0  76.00  99.0
3  100.0  53.27  28.303855  0.0  28.75  55.5  77.25  99.0

方案2:合并嵌套索引为组合列名

遍历多级索引的列名,用/连接上下层索引字符串:

df_rand_summary.columns = ['/'.join(col) for col in df_rand_summary.columns.values]

执行后输出

value/count  value/mean   value/std  value/min  value/25%   value/50%   value/75%   value/max
0  100.0        50.01        27.402534  0.0        28.00       52.5        73.00        99.0
1  100.0        49.85        29.836042  0.0        22.75       54.0        79.25        99.0
2  100.0        46.57        30.491017  0.0        19.75       40.0        76.00        99.0
3  100.0        53.27        28.303855  0.0        28.75       55.5        77.25        99.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:30:16