如何优雅地获取 numpy 数组中包含 1 的元素的索引?
我试着做一个循环:
indexes = []
for i in range(len(array)):
if array[i] == 1:
indexes += [i]
最佳答案
使用np.where
:
a = np.array([0, 0, 1, 1, 0, 1, 1, 1, 0])
np.where(a)
输出:
(array([2, 3, 5, 6, 7], dtype=int64),)
或者np.nonzero
:
a.nonzero()
输出:
(array([2, 3, 5, 6, 7], dtype=int64),)
你也可以索引到np.arange
:
np.arange(len(a))[a.astype(bool)]
输出:
array([2, 3, 5, 6, 7])
关于python - 我如何获得包含一个的numpy数组的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55870144/