Как получить целые строки, имеющие четные числа в NumPy? - PullRequest
1 голос
/ 04 апреля 2019

Я пытаюсь выбрать строки с четными числами из массива ниже:

    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])

Есть ли способ получить всю строку / столбец с четными числами?

1 Ответ

1 голос
/ 04 апреля 2019

Вы можете сделать это так:

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]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...