numpy.delete#
- numpy.удалить(arr, obj, ось=None)[источник]#
Возвращает новый массив с удаленными подмассивами вдоль оси. Для одномерного массива возвращает те элементы, которые не возвращаются arr[obj].
- Параметры:
- arrarray_like
Входной массив.
- objсрез, целое число, массивоподобный объект из целых чисел или булевых значений
Указывает индексы подмассивов для удаления вдоль указанной оси.
Изменено в версии 1.19.0: Булевы индексы теперь обрабатываются как маска элементов для удаления, а не преобразуются в целые числа 0 и 1.
- осьint, необязательный
Ось, вдоль которой удаляется подмассив, определённый obj. Если ось равно None, obj применяется к сглаженному массиву.
- Возвращает:
- выходndarray
Копия arr с элементами, заданными obj удалён. Обратите внимание, что
deleteне происходит на месте. Если ось равно None, выход является выровненным массивом.
Примечания
Часто предпочтительнее использовать булевую маску. Например:
>>> arr = np.arange(12) + 1 >>> mask = np.ones(len(arr), dtype=bool) >>> mask[[0,2,4]] = False >>> result = arr[mask,...]
Эквивалентно
np.delete(arr, [0,2,4], axis=0), но позволяет дальнейшее использование маска.Примеры
>>> import numpy as np >>> arr = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]]) >>> arr array([[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12]]) >>> np.delete(arr, 1, 0) array([[ 1, 2, 3, 4], [ 9, 10, 11, 12]])
>>> np.delete(arr, np.s_[::2], 1) array([[ 2, 4], [ 6, 8], [10, 12]]) >>> np.delete(arr, [1,3,5], None) array([ 1, 3, 5, 7, 8, 9, 10, 11, 12])