У меня есть двумерный массив: [[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]])
И попытка найти местоположение (как было предложено) представляется в равной степени проблематичной c:
>>> np.where(arr==[0,1])
(array([0, 1, 1, 3]), array([0, 0, 1, 1]))
(Откуда это 3 откуда?!?)