如何选择包含特定值的 NumPy 矩阵行?

Fre*_*rik 1 python numpy matrix

我有以下 NumPy 数组:

m = np.array([[1, 2, 3],
              [2, 4, 3],
              [1, 2, 1]])
Run Code Online (Sandbox Code Playgroud)

我想要一个数组,其中包含任意列中m至少出现一次 的行,因此:1

np.array([[1, 2, 3],
          [1, 2, 1]])
Run Code Online (Sandbox Code Playgroud)

moz*_*way 5

使用any布尔索引

out = m[(m==1).any(axis=1)]
Run Code Online (Sandbox Code Playgroud)

输出:

array([[1, 2, 3],
       [1, 2, 1]])
Run Code Online (Sandbox Code Playgroud)

中间体:

(m==1)

array([[ True, False, False],
       [False, False, False],
       [ True, False,  True]])


(m==1).any(axis=1)

array([ True, False,  True])
Run Code Online (Sandbox Code Playgroud)