Функция numpy.take() в Python и примеры

np.take() — это библиотечная функция numpy, которая возвращает элементы из массива по указанной оси и индексам. Это означает, что мы можем получить элементы массива по его индексам, и если ось упоминается, то все элементы, присутствующие в этом индексе, будут напечатаны по осям.

Функция numpy.take() в Python берет элементы из массива по оси. Функция take() делает то же самое, что и индексация массивов с использованием массивов; однако его может быть проще использовать, если вам нужны элементы вдоль заданной оси.

Синтаксис

Параметры

Функция np.take() может принимать четыре параметра:

  1. array: это массив, над которым мы будем работать.
  2. indices: это индексы значений, которые необходимо собрать.
  3. axis: это поле является необязательным. Это ось, по которой мы должны получить элементы. Его значение по умолчанию — «None»; в этом случае массив сглаживается.
  4. mode: режим. Есть три типа режима, которые влияют на то, как будет работать вне сети:
    1. raise: вызывает ошибку в случае выхода за границу.
    2. warp: деформация вокруг.
    3. clip: прикрепление к диапазону.

Помните, что это поле является необязательным.

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

Функция take() возвращает массив nD того же типа.

Примеры программ с методом numpy.take() в Python

Пример 1

Выход

Объяснение

В этом примере мы сначала объявили массив фигур 3×4 и напечатали этот массив. Затем мы хотели напечатать значения, указав их индексы с помощью take().

Сначала мы вызвали take() без упоминания оси, и мы видим, что в индексах мы дали значение [2,7]. Поскольку ось не указана, массив был сглажен, и были напечатаны значения по индексам 2 и 7.

Во втором случае мы упомянули ось = 1, которая будет печатать значения по столбцам и индексы = [0,2]. Мы видим, что получили результат в виде матрицы 2×4. take() напечатал значения столбца с индексами 0 и 2 соответственно.

Пример 2

Выход

Объяснение

В этом примере мы объявили массив фигур 3×4 и напечатали этот массив.

В первом случае мы видим, что заданы значения индексов [0,6] и оси =1; у нас нет такой оси с индексом 6. Когда мы вызывали take(), мы передавали mode=’warp’; когда мы пытались вывести индекс за границы, режим «warp» деформировал массив и печатал значения без каких-либо ошибок.

Во втором случае мы указали mode=’clip’; мы видим, что массив был обрезан и значения были напечатаны. Наконец, мы указали mode=’raise’, так как этот режим вызывает ошибку в случае выхода за границу, мы получили ошибку на выходе.

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

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

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