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

能否为Python中pandas的describe函数添加range(即max-min)统计项?

在pandas的describe中添加Range统计项

当然可以实现!pandas默认的describe()函数本身没有直接包含range(max-min)的选项,但我们可以通过两种简单的方式把这个统计项加进去,下面给你详细演示:

方法1:在默认describe结果后追加Range行

先获取默认的统计结果,然后手动计算每个列的range,再把这一行添加到结果里:

import pandas as pd
import numpy as np

# 先造点示例数据方便测试
df = pd.DataFrame({
    '数值列1': np.random.randint(10, 100, 60),
    '数值列2': np.random.uniform(0, 10, 60)
})

# 获取默认的describe统计结果
default_desc = df.describe()

# 计算range并添加为新行
default_desc.loc['range'] = default_desc.loc['max'] - default_desc.loc['min']

# 打印最终结果
print(default_desc)

运行这段代码后,你会看到输出结果里多了一行range,对应每个列的最大值减最小值。

方法2:自定义聚合统计,一次性生成包含Range的结果

如果不想先跑默认describe再追加,也可以直接用agg()方法自定义所有需要的统计项,包括默认的那些和range:

# 定义每个列需要的统计函数
custom_stats = {
    col: ['count', 'mean', 'std', 'min', '25%', '50%', '75%', 'max', lambda x: x.max() - x.min()]
    for col in df.columns
}

# 生成自定义统计结果
custom_desc = df.agg(custom_stats)

# 把lambda对应的行名改成更友好的'range'
custom_desc.rename(index={'<lambda>': 'range'}, inplace=True)

print(custom_desc)

这种方式的好处是可以灵活调整需要的统计项,比如你还能加其他自定义统计值,输出结果直接包含所有你想要的内容。

两种方法都能完美实现你的需求,选哪种看你更习惯哪种操作方式啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:39:03