當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy ufunc.at用法及代碼示例


本文簡要介紹 python 語言中 numpy.ufunc.at 的用法。

用法:

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

對 ‘indices’ 指定的元素對操作數 ‘a’ 執行非緩衝就地操作。對於添加 ufunc,此方法等效於 a[indices] += b ,不同之處在於對多次索引的元素累積結果。例如,a[[0,0]] += 1 因為緩衝隻會增加第一個元素一次,而add.at(a, [0,0], 1) 將增加第一個元素兩次。

參數

a array_like

要對其執行就地操作的數組。

indices 數組 或元組

數組,如索引對象或切片對象,用於索引到第一個操作數。如果第一個操作數有多個維度,則索引可以是數組的元組,如索引對象或切片對象。

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

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.ufunc.at。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。