numpy获取行索引,其中某些列中的元素为零

时间:2019-05-28 15:47:51

标签: python numpy

我想根据某些列的条件查找行的索引

所以,像这样:

import numpy as np
x = np.random.rand(4, 5)

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

现在,我想获取第3列或第4列均为零的行的索引。用numpy如何做到这一点?我是否需要为每一列多次调用nonzero并使用set或类似的方法组合这些索引?

1 个答案:

答案 0 :(得分:3)

np.where中使用array的第一个tuple是行index

np.where(x[:,[3,4]]==0)

Out[79]: (array([1, 2], dtype=int64), array([0, 0], dtype=int64))