给定两个数组A
(shape:mxc)和B
(shape:nxc),有没有一种方法可以在不使用循环的情况下从B
的每一行中减去{}的每一行吗?最终的输出将是形状(mnxc)。在
示例
A = np.array([[ 1, 2, 3],
[100, 200, 300]])
B = np.array([[ 10, 20, 30],
[1000, 2000, 3000],
[ -10, -20, -2]])
所需结果(可以有其他形状)(已编辑):
^{pr2}$
(循环太慢,“outer”减去每个元素而不是每行)
Tags:
使用Kronecker product(^{} ):
通过利用^{} 可以有效地(不使用任何循环)执行此操作,例如:
或者,为了比^{} 快一点的解决方案,我们必须使用numexpr如:
^{pr2}$另一种效率最低的方法是使用np.repeat和{a5}来匹配这两个数组的形状。但是,请注意,这是最低效的,因为当尝试匹配形状时,它会生成副本。在
相关问题 更多 >
编程相关推荐