У меня есть массив NumPy (X)
X
1 2 3 4 3 4 5 6 5 6 7 8
и массив индексов Booelan (ind)
ind
0 1 1 0
Я хотел бы нарезать массив Numpy на основена указателе.то есть результирующий массив после преобразования должен содержать только столбцы 2 и 3 (с соответствующим индексом 1):
2 3 4 5 6 7
Я пытался X[:,ind], но он не работал.
X[:,ind]
Вам нужно конвертировать ind в boolean array.Простой способ сделать это - использовать numpy.array():
boolean array
numpy.array()
numpy.array(ind, dtype=bool)
. Затем вы можете использовать X[:,ind]
Вам необходимо преобразовать ind в dtype: bool.
bool
Это можно сделать, маскируя с помощью ind == 1.
ind == 1
То есть
>>> X[:,ind == 1] array([[2, 3], [4, 5], [6, 7]])