找到在2d数组中具有一些非零元素的列的索引

时间:2016-03-26 09:54:09

标签: python numpy

我有一个带有暗淡(157,1944)的numpy数组。

我想获取任何行中具有非零元素的列索引。

示例:[[0,0,3,4], [0,0,1,1]] ----> [2,3]

如果查看每一行,列[2,3]

中有一个非零元素

所以,如果我有

[[0,1,3,4], [0,0,1,1]]

我应该得到[1,2,3],因为列索引0在任何行中都没有非零元素。

1 个答案:

答案 0 :(得分:3)

不确定您的问题是否已完全定义。但是,请说我们从

开始
import numpy as np
a = np.array([[0,0,3,4], [0,0,1,1]])

然后

>>> np.nonzero(np.all(a != 0, axis=0))[0]
array([2, 3])

none 行非零的列的索引,

>>> np.nonzero(np.any(a != 0, axis=0))[0]
array([2, 3])

并非所有行的列的索引(对于您给出的示例,它恰好相同)。