Spec-Zone.ru › NumPy 1.13

numpy.take

numpy.take(a, indices, axis=None, out=None, mode='raise') [source]

Извлечение элементов из массива по оси.

Эта функция выполняет ту же операцию, что и «fancy» индексация (индексация массивов с помощью массивов); однако, она может быть проще в использовании, если вам нужно извлечь элементы по заданной оси.

Параметры:

a : array_like

Исходный массив.

indices : array_like

Индексы извлекаемых значений.

Новое в версии 1.8.0.

Также допускаются скалярные значения для индексов.

axis : int, необязательно

Ось, по которой выбираются значения. По умолчанию используется уплощенный входной массив.

out : ndarray, необязательно

Если указано, результат будет помещён в этот массив. Он должен иметь соответствующую форму и тип данных.

mode : {‘raise’, ‘wrap’, ‘clip’}, необязательно

Определяет поведение для индексов, выходящих за пределы границ.

  • ‘raise’ – выбросить ошибку (по умолчанию)
  • ‘wrap’ – циклическое повторение
  • ‘clip’ – ограничение до диапазона

Режим ‘clip’ означает, что все индексы, превышающие допустимые значения, заменяются индексом, соответствующим последнему элементу по этой оси. Обратите внимание, что это отключает индексацию с отрицательными числами.

Возвращает:

subarray : ndarray

Возвращаемый массив имеет тот же тип, что и a.

См. также

compress
Извлечение элементов с помощью булевой маски
ndarray.take
эквивалентный метод

Примеры

>>> a = [4, 3, 5, 7, 6, 8]
>>> indices = [0, 1, 4]
>>> np.take(a, indices)
array([4, 3, 6])

В этом примере, если a является массивом NumPy, можно использовать «fancy» индексацию.

>>> a = np.array(a)
>>> a[indices]
array([4, 3, 6])

Если indices не одномерный, то у выходного массива будут такие же размеры.

>>> np.take(a, [[0, 1], [2, 3]])
array([[4, 3],
       [5, 7]])

© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.take.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API