【发布时间】:2021-10-23 11:03:01
【问题描述】:
存在一个形状为[100,50, 5]的numpy ndarry A,我想将A扩展如下。 A 将附加一个形状为(50, ) 的一维数组。生成的A 的形状为[100,50,6]。
这个一维数组的元素是基于原ndarray中的数组,即A[:,:,4]根据给定的公式,即A[:,i,5]=A[:,i,4]*B[i]+5 for i = 0:49这里A[:,:,5]对应的是添加的一维数组. B 是另一个作为权重的数组。
除了使用 for 循环编写此函数外,如何利用numpy 操作以矢量化/高效的方式完成此任务
【问题讨论】:
-
A[:,:,4]是 (100,50)。B是 (50,)。您应该可以将它们添加 +5 以制作新的“列” -
对于担心“矢量化/高效方式”的人,您似乎跳过了一些基本的
numpy阅读。例如numpy.org/doc/stable/user/… 和以下部分。
标签: python-3.x numpy lambda scipy numpy-ndarray