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

Python中排除小于1e-12的值计算数组的最小与最大值

解决Numpy数组排除小值后求最小最大值的问题

要计算数组A的最小和最大值,但需排除所有小于1e-12的元素,原代码未做过滤导致结果包含极小值,可通过布尔索引过滤后再求极值解决。

原代码及问题

原代码:

import numpy as np
A=np.array([[9.49108487e-05],
       [1.05634586e-19],
       [5.68676707e-17],
       [1.02453254e-06],
       [2.48792902e-16],
       [1.02453254e-06]])

Min=np.min(A)
Max=np.max(A)
print(Min,Max)

当前输出:

1.05634586e-19 9.49108487e-05

期望输出:

1.02453254e-06 9.49108487e-05

修改后的代码

import numpy as np
A=np.array([[9.49108487e-05],
       [1.05634586e-19],
       [5.68676707e-17],
       [1.02453254e-06],
       [2.48792902e-16],
       [1.02453254e-06]])

# 过滤掉小于1e-12的元素
filtered_A = A[A >= 1e-12]
Min = np.min(filtered_A)
Max = np.max(filtered_A)
print(Min, Max)

说明

通过A >= 1e-12生成布尔索引,筛选出所有大于等于1e-12的元素组成新数组,再对这个过滤后的数组求最小和最大值,就能得到符合要求的结果。运行后输出与期望一致:

1.02453254e-06 9.49108487e-05

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 17:11:17