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])