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