numpy.delete
numpy.delete(a, obj, axis=None)
Функция delete() удаляет указанные элементы на указанной оси.
-
- a - подобный массиву объект
- Любой объект который может быть преобразован в массив NumPy.
- obj - срез, целое число или последовательность целых чисел
- Определяет позицию удаляемых подмассивов. В случае если необходимо указать срез массива, то необходимо использовать объект среза, например, np.s_[2:5] или сам срез массива a[2:5]. Если просто указать [2:5] то это приведет к ошибке.
- axis - целое число (необязательный)
- Определяет ось, элементы вдоль которой необходимо удалить. По умолчанию axis = None, что соответствует сжиманию входного массива до одной оси и созданию так же одномерного результирующего массива без указанных подмассивов.
-
- ndarray - массив NumPy
- Копия исходного массива без указанных подмассивов.
Примеры
>>> import numpy as np
>>>
>>> a = np.arange(9)
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7, 8])
>>>
>>> np.delete(a, 0)
array([1, 2, 3, 4, 5, 6, 7, 8])
>>>
>>> np.delete(a, [0, 2, 4, 6, 8])
array([1, 3, 5, 7])
>>>
>>> np.delete(a, a[2:7])
array([0, 1, 7, 8])
>>>
>>>
>>> b = np.array([[2, 3], [5, 7]])
>>> b
array([[2, 3],
[5, 7]])
>>>
>>> np.delete(b, 0)
array([3, 5, 7])
>>>
>>> np.delete(b, [0, 2])
array([3, 7])
>>>
>>> np.delete(b, 0, axis = 0)
array([[5, 7]])
>>>
>>> np.delete(b, 0, axis = 1)
array([[3],
[7]])
>>>
>>>
>>> c = np.arange(36).reshape(2, 3, 6)
>>> c
array([[[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17]],
[[18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29],
[30, 31, 32, 33, 34, 35]]])
>>>
>>> np.delete(c, 0, axis = 0)
array([[[18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29],
[30, 31, 32, 33, 34, 35]]])
>>>
>>> np.delete(c, [0, 2], axis = 1)
array([[[ 6, 7, 8, 9, 10, 11]],
[[24, 25, 26, 27, 28, 29]]])
>>>
>>> np.delete(c, [0, 2, 4], axis = 2)
array([[[ 1, 3, 5],
[ 7, 9, 11],
[13, 15, 17]],
[[19, 21, 23],
[25, 27, 29],
[31, 33, 35]]])