Удаление столбца по условию numpy

Всем привет, я хочу удалить столбец в матрице nxm через условие, но есть проблемы с реализацией. думал, что таким образом сработает, но интерпритатор выдает ошибку:

a = a[a[:,[0,m-1]]%5 == 0]

можете подсказать, как решить эту проблему? По заданию, необходимо найти элемент, кратный 5 и удалить столбец с ним


Ответы (1 шт):

Автор решения: passant

Удалить все столбцы, в которых есть числа кратные 5:

import numpy as np
arr=np.arange(24).reshape(3,8)

Имеем массив:

[[ 0  1  2  3  4  5  6  7]
 [ 8  9 10 11 12 13 14 15]
 [16 17 18 19 20 21 22 23]]

Удаляем по заданному условию:

np.delete(arr,np.where(arr%5 == 0)[1],1)

Результат:

[[ 1  3  6]
 [ 9 11 14]
 [17 19 22]]

А вообще-то это описано в любой статье (не говоря уже о книге), где рассказывается о numpy. Рекомендую с этого и начинать.

→ Ссылка