У меня есть 2D-массив: [[0,0], [0,1], [1,0], [1,1]]
Я хочу удалить элемент [0,1]
, не зная его положения в массиве (поскольку элементы могут быть перемешаны).
Результат должен быть: [[0,0], [1,0], [1,1]]
Я пытался использовать numpy.delete
, но продолжаю возвращать сглаженный массив:
>>> arr = np.array([[0,0], [0,1], [1,0], [1,1]])
>>> arr
array([[0, 0],
[0, 1],
[1, 0],
[1, 1]])
>>> np.delete(arr, [0,1])
array([0, 1, 1, 0, 1, 1])
Указание оси удаляет элементы 0, 1
, а не ищет элемент (что имеет смысл):
>>> np.delete(arr, [0,1], axis=0)
array([[1, 0],
[1, 1]])
И попытка найти местоположение (как было предложено) кажется столь же проблематичным:
>>> np.where(arr==[0,1])
(array([0, 1, 1, 3]), array([0, 0, 1, 1]))
(Откуда взялись эти 3?!?)