Как удалить N-й элемент во всех массивах numpy в массиве numpy?



Подобно этому, мне любопытно, как удалить определенные элементы из каждого массива numpy в массиве numpy. Мои данные приведены в форме X ниже. Я думаю, что это должно сработать:



X = [[x1 x2 ... xn] [x1 x2 ... xn] ... [x1 x2 ... xn]]
X.shape
(n,|x|)

Y=numpy.delete(X[:],1)


Я думаю, что Y теперь должно быть:



Y = [[x1 x3 ... xn] [x1 x3 ... xn] ... [x1 x3 ... xn]]


Где Y. форма должна быть равна (n-1,|y / = / x|), но это не. Чего я не могу понять? Мое намерение состоит в том, чтобы иметь возможность удалить все x2 (низкая корреляционная переменная) в каждом массиве в X, чтобы отправить регрессору дерева решений. Оно было бы еще лучше, если бы я мог сделать это:



index = [ 1 3 7]
Y=numpy.delete(X[:],index)


, который работает, если X не является "вложенным" массивом numpy. см. ответ в ссылке для:



array([1, 2, 3, 4, 5, 6, 7, 8, 9])

index
[2, 3, 6]

new_a = np.delete(a, index)

new_a
array([1, 2, 5, 6, 8, 9])
721   1  

1 ответ:

Вам нужно применить np.delete вдоль оси. Пожалуйста, обратитесь к третьему примеру в документации .

Y = np.delete(X, 1, axis=1)

Comments

    Ничего не найдено.