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

Numpy如何获取多维矩阵中高于阈值的最小绝对值

实现方法

核心思路是将低于阈值的绝对值替换为无穷大,既不改变原始数组维度,又能在取最小值时自动过滤无效值:

import numpy as np
np.random.seed(0)
matrix = np.random.randn(5,1,10)
tolerance = 0.1

# 计算绝对值矩阵
abs_mat = np.abs(matrix)
# 将低于阈值的值替换为无穷大,避免被选为最小值
filtered_abs = np.where(abs_mat >= tolerance, abs_mat, np.inf)
# 沿最后一维取最小值
result = np.amin(filtered_abs, axis=-1)
print(result)

运行后输出结果如下,第三行已经返回符合阈值要求的最小值:

[[0.10321885]
 [0.12167502]
 [0.18718385]
 [0.15494743]
 [0.21274028]]

边界情况处理

如果某个分组(沿最后一维的切片)所有值都低于阈值,计算结果会返回inf,你可以根据业务需求后续替换为np.nan或者自定义默认值:

# 示例:将inf替换为nan
result[np.isinf(result)] = np.nan

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:54:08