在执行操作时获取单独子数组中 numpy 子数组的结果,而无需使用 for 循环



下面的代码检查子数组的每个元素是否大于 2,并在它们各自的子数组中给出结果:

2d_array=np.array([[1,2,3,4],[4,56,7,1]])
for elem in 2d_array:
print(elem[elem[:]>2])

输出:

[3 4]
[ 4 56  7]

我们可以在不使用for loop的情况下做同样的事情,最好使用numpy函数。

Numpy 生成数组。在您的情况下,每个结果行都有不同的长度,因此您无法获取数组,只能获取列表列表。

但是,如果您想将所有值收集到一个 1D 数组中,您可以这样做

vaulues = array_2d[array_2d > 2]

最新更新