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 or tuple -
Объект-подобный массив или объект среза для индексирования первого операнда. Если первый операнд имеет несколько измерений, индексы могут быть кортежем из объектов-подобных массивов или объектов срезов.
-
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])
-
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.16.1/reference/generated/numpy.ufunc.at.html