首页 > 解决方案 > 如何在numpy中获取具有偶数的整行?

问题描述

我试图从下面的数组中获取具有偶数的行:

    mat1 = np.array([[23,45,63],[22,78,43],[12,77,47],[53,47,33]]).reshape(4,3)
mat1
array([[23, 45, 63],
       [22, 78, 43],
       [12, 77, 47],
       [53, 47, 33]])

下面的代码只返回值..

mat1[mat1%2==0]
array([22, 78, 12])

有没有办法获取具有偶数的整个行/列?

标签: arrayspython-3.xnumpy

解决方案


你可以这样做:

import numpy as np

mat1 = np.array([[23,45,63],[22,78,43],[12,77,47],[53,47,33]])
is_even = (mat1 % 2 == 0)

# Rows
print(mat1[is_even.any(1)])
# [[22 78 43]
#  [12 77 47]]

# Columns
print(mat1[:, is_even.any(0)])
# [[23 45]
#  [22 78]
#  [12 77]
#  [53 47]]

推荐阅读