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

无法理解np.min()函数initial参数的行为:输出异常解惑请求

问题解析:numpy.min中where与initial参数的行为

代码与输出

print('min using where parameter column wise with initial parameter as 10: ',
  np.min([[9,13],[12,11]], where=[False, True], initial=10))

输出:

min using where parameter column-wise with initial parameter as 10: 10

问题原因

你误解了where参数的作用——它不是全局过滤数组元素,而是按指定维度筛选参与计算的元素。这里你的where=[False, True]是作用在列维度上的:

  • 第一列(元素9、12)被False标记,完全不参与最小值计算
  • 第二列(元素13、11)被True标记,参与计算

第二列的最小值是11,比initial=10大,所以最终返回initial的10。而数组里的9因为所在列被where排除了,根本没进入计算流程。

验证示例

如果把where改成全局筛选(让所有元素参与计算),就会得到预期的9:

print(np.min([[9,13],[12,11]], where=[[True, True],[True, True]], initial=10))
# 输出:9

如果只想让第一列参与计算:

print(np.min([[9,13],[12,11]], where=[True, False], initial=10))
# 输出:9

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 08:59:18