Как удалить столбцы в numpy.array

Гм, поэтому Visual Studio является лучшим IDE. Возвратитесь к darkside.

61
задан Steve Tjoa 17 February 2011 в 20:57
поделиться

2 ответа

Будет создан другой массив без этих столбцов:

  b = a.compress(logical_not(z), axis=1)
8
ответ дан 24 November 2019 в 17:12
поделиться

Другой способ - использовать замаскированные массивы:

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

См. manage-a-maskedarray

13
ответ дан 24 November 2019 в 17:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: