我想知道是否有一种更“numpythonic”或更有效的方法来执行以下操作:
假设我有一个A已知长度的一维数组L,并且有一个多维数组B,它的维度也有长度L。假设我想添加(或设置) 的值B[:, ..., x, ..., :] += A[x]。换句话说,将该值添加到匹配索引 中A[x]的整个子数组的每个值。Bx
一个非常简单的工作示例是这样的:
A = np.arange(10, 20)
B = np.random.rand(3, len(A), 3)
for iii in range(len(A)):
B[:, iii, :] += A[iii]
显然,我总是可以像上面那样循环遍历我想要的索引,但我很好奇是否有更有效的方法。如果有一些更常见的术语来描述这个过程,我也会感兴趣,因为我什至很难构建适当的谷歌搜索。
我还试图避免创建与 -vector 形状相同的新数组,B并在其他索引上重复平铺A-vector ,然后将其添加到B,因为更“真实”的世界应用程序可能涉及B相对较大的数组。
HUH函数
相关分类