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) 會將第一個元素遞增兩次。

參數:
aarray_like

要在其上執行原位運算的陣列。

indicesarray_like 或 tuple

用於索引到第一個運算元的類陣列索引物件或切片物件。如果第一個運算元有多個維度,則 indices 可以是類陣列索引物件或切片物件的元組。

barray_like

需要兩個運算元的 ufuncs 的第二個運算元。運算元在索引或切片後必須可廣播到第一個運算元上。

範例

將項目 0 和 1 設定為其負值

>>> import numpy as np
>>> 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])