当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。