Numpy delete() в Python: удаление подмассива из массива

Метод Python numpy.delete(array, object, axis = None) возвращает новый массив с удалением подмассивов вместе с указанной осью.

Что такое функция Numpy delete() в Python?

Функция Numpy delete()  в Python используется для удаления любого подмассива из массива вместе с указанной осью. Функция numpy delete() возвращает новый массив после выполнения операции удаления. Для одномерного массива она просто удаляет объект, который мы хотим удалить.

Синтаксис

Параметры

Функция Numpy delete() принимает три параметра:

  1. array: это входной массив.
  2. object: это может быть любое число или подмассив.
  3. axis: указывает ось, которая должна быть удалена из массива.

Возвращаемое значение

Функция numpy delete() возвращает массив, удаляя подмассив, который был упомянут во время вызова функции.

Примеры программирования

Функция Python Numpy delete()

Удаление элементов из одномерного массива

См. следующий код.

Выход:

Объяснение:

В этой программе мы сначала создали одномерный массив, используя функцию numpy arange(). Затем мы напечатали исходный массив. Затем мы инициализировали значение, которое необходимо удалить из массива 1D в объектной переменной и вызвали функцию delete(), минуя объект в функции.

Обратите внимание, что мы не упомянули ось, когда вызывали функцию delete(), потому что в массиве 1D есть только одна ось, поэтому по умолчанию ось должна быть None. Однако в объекте мы дали значение 3, поэтому он удалил 3 из исходного массива, а затем вернул новый массив, который напечатали.

Python Numpy: удаление элементов из 2D-массива

Используя метод NumPy np.delete(), вы можете удалить любую строку и столбец из массива NumPy ndarray. Мы также можем удалить элементы из 2D-массива, используя функцию numpy delete(). См. следующий код.

Выход:

Объяснение:

В этой программе мы объявили двумерный массив numpy размером 4×3, как видно из вывода.

Сначала мы хотели удалить 3-й столбец массива. Для этого передаем значение 2 в obj(obj = 2), поскольку индекс массива начинается с 0 и заданной оси = 1, что указывает на удаление столбца. Значит, он удалит 3-й столбец. Если мы дадим ось = 0, то он удалит 3-ю строку.

Однако мы удалили третий столбец, а затем напечатали новый массив. После этого мы хотим удалить 2-ю строку нового массива, поэтому передали 1 как значение объекта и ось = 0, потому что ось = 0 индексирует строку, а объект указывает, какую строку нужно удалить. Наконец, мы напечатали окончательный массив.

Удаление строки

Используя numpy.delete(), мы можем удалить всю строку из массива. См. следующий код.

Выход:

Из вывода мы видим, что 2-я строка (obj = 1, ось = 0) удалена из массива.

Исходный массив не изменяется, и возвращается новая копия ndarray.

Указание индекса для строки: obj

Мы можем указать индекс (номер строки или номер столбца) для удаления во втором параметре obj. Индекс начинается с 0. Указание несуществующего индекса вызывает ошибку.

Выход:

Объяснение:

В приведенном выше примере мы удалили первую и третью строки массива. Индекс начинается с 0. Таким образом, 0 означает первую строку, а 2 означает третью строку.

Давайте передадим индекс, которого нет в массиве, и посмотрим на результат.

Выход:

Объяснение:

Мы указали несуществующий индекс; поэтому выдается ошибка.

Указание оси (размера): axis

Укажите ось (размер) для удаления в третьей оси параметра.

Номер оси начинается с 0. В случае двумерного массива строка является первым измерением(ось = 0), а столбец — вторым измерением(ось = 1). Указание несуществующего измерения вызывает ошибку.

См. следующий код.

Выход:

Давайте определим ось, которой нет в массиве, и посмотрим на результат.

Выход:

Итак, указание несуществующего измерения вызывает ошибку.

Удаление нескольких строк и столбцов

Несколько строк и столбцов можно удалить сразу, указав список или срез во втором параметре obj. Мы можем удалить сразу несколько строк и столбцов следующим образом.

  1. Используя список Python
  2. Используя фрагмент Python
  3. Используя np.s_[]

Использование списка

Укажите номера строк и номера столбцов в виде списка для удаления в массиве.

См. следующий код.

Выход:

Если мы хотим удалить столбец, то нам нужно передать 1 в функцию np.delete(a, [0, 3], 1), и нам нужно удалить первый и четвертый столбец из массива. Итак, мы написали код np.delete(a, [0, 3], 1).

Также можно удалить несколько строк одновременно. См. следующий код.

Выход:

В приведенном выше примере мы удалили вторую и третью строки из массива.

В приведенном выше коде мы передали 0, что означает, что нам нужно удалить строку или ось X.

Затем мы указали, что вторая и третья строки должны быть удалены. Индекс массива начинается с 0.

Использование slice

Также можно указать несколько строк и столбцов, используя срез, задающий диапазон с [start:stop:step].

Создайте объект среза с помощью slice() и укажите его в качестве второго параметра obj.

Это эквивалентно [:stop], если есть один аргумент, [start:stop], если есть два аргумента, и [start:stop:step], если есть три аргумента. Если вы хотите пропустить, укажите None явно.

См. следующий код.

Выход:

Использование np.s_[]

Используйте numpy.s_[], если вы хотите писать в форме [start:stop:step].

Удалим первый и второй столбцы с помощью функции np.s_[]. Помните, что индекс массива начинается с 0.

См. следующий код.

Выход:

Заключение

Функция Numpy delete() используется для удаления одной строки или столбца, нескольких строк или столбцов в массиве. Мы также можем использовать фрагмент и список Python для удаления нескольких элементов (строк и столбцов). Мы видели много вариантов удаления в этом уроке. Я надеюсь, вы узнали много нового из этого краткого руководства.

Оцените статью

Автор статей и разработчик, делюсь знаниями.

Программирование на Python