Spec-Zone.ru › NumPy 1.21

numpy.ufunc.at

метод

ufunc.at(a, indices, b=None, /)

Выполняет операцию на месте без буферизации для операнда 'a' для элементов, указанных 'indices'. Для операции сложения ufunc, этот метод эквивалентен a[indices] += b, за исключением того, что результаты накапливаются для элементов, которые индексируются более одного раза. Например, a[[0,0]] += 1 будет увеличивать первый элемент только один раз из-за буферизации, тогда как add.at(a, [0,0], 1) будет увеличивать первый элемент дважды.

Новая функция в версии 1.8.0.

Параметры
aarray_like

Массив, для которого выполняется операция на месте.

indicesarray_like или кортеж

Объект индексации или среза, похожий на массив, для индексирования первого операнда. Если первый операнд имеет несколько измерений, индексы могут быть кортежем из объектов индексации или срезов, похожих на массивы.

barray_like

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

Примеры

Установите элементы 0 и 1 в их отрицательные значения:

>>> a = np.array([1, 2, 3, 4])
>>> np.negative.at(a, [0, 1])
>>> a
array([-1, -2,  3,  4])

Увеличьте элементы 0 и 1, и увеличьте элемент 2 дважды:

>>> a = np.array([1, 2, 3, 4])
>>> np.add.at(a, [0, 1, 2, 2], 1)
>>> a
array([2, 3, 5, 4])

Добавьте элементы 0 и 1 в первый массив ко второму массиву и сохраните результаты в первый массив:

>>> a = np.array([1, 2, 3, 4])
>>> b = np.array([1, 2])
>>> np.add.at(a, [0, 1], b)
>>> a
array([2, 4, 3, 4])

© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.ufunc.at.html

Spec-Zone.ru

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