Гм, поэтому Visual Studio является лучшим IDE. Возвратитесь к darkside.
Будет создан другой массив без этих столбцов:
b = a.compress(logical_not(z), axis=1)
Другой способ - использовать замаскированные массивы:
import numpy as np
a = np.array([[ np.nan, 2., 3., np.nan], [ 1., 2., 3., 9]])
print(a)
# [[ NaN 2. 3. NaN]
# [ 1. 2. 3. 9.]]
Метод np.ma.masked_invalid возвращает замаскированный массив с масками nans и infs:
print(np.ma.masked_invalid(a))
[[-- 2.0 3.0 --]
[1.0 2.0 3.0 9.0]]
Метод np.ma.compress_cols возвращает двумерный массив с любой столбец, содержащий маскированное значение подавлено:
a=np.ma.compress_cols(np.ma.masked_invalid(a))
print(a)
# [[ 2. 3.]
# [ 2. 3.]]