Spec-Zone.ru › NumPy 1.13

numpy.ufunc.at

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

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

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

Параметры:

a : array_like

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

indices : array_like или кортеж

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

b : array_like

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

Примеры

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

>>> a = np.array([1, 2, 3, 4])
>>> np.negative.at(a, [0, 1])
>>> print(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)
>>> print(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)
>>> print(a)
array([2, 4, 3, 4])

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.ufunc.at.html

Spec-Zone.ru

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