首页 > 解决方案 > numpy:与非零相反(获取零元素的索引)

问题描述

numpy.nonzero对于获取非零元素的索引很有用。它返回一个数组元组,每个数组都包含特定轴的非零元素的索引。

是否有一个等价的但为零元素?

这意味着对于给定的 numpy 数组

x = [[1, 2, 0],
     [8, 0, 2],
     [0, 0, 1]]

我可以得到如下索引

ax0_zero_idxs, ax1_zero_idxs = numpy.zero(x)

在哪里

ax0_zero_idxs = [0, 1, 2, 2]
ax1_zero_idxs = [2, 1, 0, 1]

标签: pythonnumpy

解决方案


请注意,它会x == 0生成一个bool数组,其中每个元素都回答以下问题:x的对应元素是否等于0

所以你可以将np.nonzero应用于这个数组:

result np.nonzero(x == 0)

自己试试。

以同样的方式,您可以获得满足任何其他条件的元素的索引。


推荐阅读