给定一个索引列表,如何在没有 for 循环的情况下进行多次添加操作?

Hu Xixi

标题可能有点糊涂,我在这里解释一下:给定一个数组:

arr = np.array([1.0, 2.0])

并给出一个索引列表:

idxes = np.array([0, 0, 1, 0])

以及要添加的号码列表:

e = np.array([0.1, 0.35, 0.5, 0.2])

我想要的是得到这样的结果:

arr[idxes] += e 

意思是

[arr[0], arr[0], arr[1], arr[0]] + [0.1, 0.35, 0.5, 0.2]

使arr[0]加三倍arr[0] = arr[0] + 0.1 + 0.35 + 0.2 = 1.65,并arr[1]添加一个时间arr[1] = arr[1] + 0.5 = 2.5
我怎么能做到这一点的情况下直接for循环?

克里斯

使用numpy.add.at

np.add.at(arr, idxes, e)
arr

输出:

array([1.65, 2.5 ])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

给定一个数组,如何在没有帮助器列的情况下对每个值进行索引匹配并求和?

给定一个列表列表,如何在没有熊猫的情况下使用python获取一组类似output_1的列表?

如何在没有集合的情况下从列表中查询一个对象?

如何在不使用for循环的情况下多次将单个项目添加到arraylist

如何在没有循环的情况下通过列名和索引列表向数据框的列添加值

如何在没有循环的情况下添加一个整数和另一个数字

如何在没有 for() 循环的情况下将子列表的选定成员(即函数)合并到 R 中的一个列表中?

如何在不使用循环的情况下多次打印?

如何在没有for循环的情况下对矩阵的每一行执行操作?

如何在没有索引的情况下将列表现为唯一?

如何在没有另一个数组列表中的一个元素的情况下创建数组列表

如何在没有剪切的情况下从列表中删除第一个匹配元素

如何在不使用 R 进行循环索引的情况下用另一个数据框的内容填充一个大数据框?

如何在没有嵌入式订阅的情况下执行一个异步操作

如何在没有索引的熊猫列的末尾添加一个值

Matlab:如何在没有暴力for循环的情况下执行行操作?

如何在这种情况下添加 for 循环?

如何在不使用for循环的情况下对两个列表的多个元素进行处理?

为什么在循环后有一个`println`的情况下,这个循环很多次的程序要花时间?

如何在没有永恒循环的情况下进行每个周期的递归?

如何在没有箭头键的情况下获取上一个命令

如何在没有root的情况下“监禁”一个进程?

如何在猫鼬中没有一个对象的情况下更新架构

如何在没有密码的情况下SSH另一个VM

网格如何在给定起始索引的情况下找到下一行的第一个位置的索引

如何在没有位置的情况下将一个div与另一个div重叠

如何在没有ngFor和另一个@Component的情况下多次重复一段HTML

给定一个大的元组数组,如何对每个元组的第一个元素进行分组,以便在没有 Pandas 数据帧的情况下对每个元组的最后一个元素求和?

(Python)在没有括号的情况下将列表添加到另一个列表