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

np.min与min的差异解析及mean、median需依赖numpy的原因

Pandas agg方法相关问题解答

我在DataCamp学习Python时,使用pandas的agg方法执行统计操作时发现:直接用min、max和用np.min、np.max得到的结果一致,但不借助numpy的话,mean和median无法正常使用。以下是针对两个问题的解答:

1. np.min与min、np.max与max之间是否存在差异?

在pandas的agg方法中,二者大部分场景下结果一致,但存在这些关键差异:

  • 列名显示不同:从执行结果能看到,用np.min/np.max得到的列名是amin/amax,直接用min/max得到的列名是min/max。
  • 函数归属与参数差异:
    • min/max是Python内置函数,pandas会自动适配用于处理Series对象,默认忽略NaN值;支持的参数较少,仅满足可迭代对象的基础统计需求。
    • np.min/np.max是numpy库的数组专用函数,支持更多参数(比如axis指定统计维度、keepdims保持结果维度等);默认情况下遇到NaN会返回NaN,但pandas在agg中调用时会自动开启skipna=True,所以最终结果和内置min/max一致。
  • 空值处理的原生行为:如果数据包含NaN,Python原生min会报错,但pandas适配后的min(即agg中直接调用的min)默认跳过空值;np.min原生不跳过空值,是pandas的适配逻辑让它和内置函数结果对齐。

2. 为何mean和median必须依赖numpy才能使用?

不是必须依赖numpy,问题出在调用方式上:

  • Python没有内置的mean和median函数,只有min/max是内置的,所以直接写agg([mean, median])会因为找不到这两个函数而报错。
  • 如果你用字符串形式指定统计方法(pandas会自动调用Series对应的内置方法),不需要numpy也能正常运行,比如:
    unemp_fuel_stats = sales.groupby("type")["unemployment", 
                  "fuel_price_usd_per_l"].agg(['min', 'max', 'mean', 'median'])
    
  • np.mean/np.median是numpy提供的数组统计函数,pandas可以直接调用它们处理分组后的Series,所以用这两个函数时能正常得到结果。另外,也可以直接传入pandas的方法,比如pd.Series.mean、pd.Series.median,同样不需要numpy。

代码示例对比

使用numpy函数的代码:

unemp_fuel_stats = sales.groupby("type")["unemployment", 
              "fuel_price_usd_per_l"].agg([np.min, np.max, np.mean, np.median])

执行结果:

unemployment                      fuel_price_usd_per_l  
amin   amax   mean median                 amin   amax   mean median
type  
A           3.879  8.992  7.973  8.067                0.664  1.107  0.745  0.735
B           7.170  9.765  9.279  9.199                0.760  1.108  0.806  0.803

无numpy依赖的代码(字符串方法):

unemp_fuel_stats = sales.groupby("type")["unemployment", 
              "fuel_price_usd_per_l"].agg(['min', 'max', 'mean', 'median'])

执行结果:

unemployment        fuel_price_usd_per_l  
min    max   mean median        min    max   mean median
type  
A           3.879  8.992  7.973  8.067        0.664  1.107  0.745  0.735
B           7.170  9.765  9.279  9.199        0.760  1.108  0.806  0.803

内容的提问来源于stack exchange,提问作者gizem kurşova

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:55:16