有效地减去不同形状的numpy数组

有效地减去不同形状的numpy数组,第1张

有效地减去不同形状的numpy数组

您需要扩展

X
with的尺寸
None/np.newaxis
以形成3D数组,然后通过进行减法
w
。这将
broadcasting
对该
3D
*** 作起作用,并导致输出形状为
(5,n,3)
。实现看起来像这样-

X[:,None] - w  # or X[:,np.newaxis] - w

相反,如果所需的顺序是

(n,5,3)
,则您需要扩展的尺寸
w
,例如-

X - w[:,None] # or X - w[:,np.newaxis]

样品运行-

In [39]: XOut[39]: array([[5, 5, 4],       [8, 1, 8],       [0, 1, 5],       [0, 3, 1],       [6, 2, 5]])In [40]: wOut[40]: array([[8, 5, 1],       [7, 8, 6]])In [41]: (X[:,None] - w).shapeOut[41]: (5, 2, 3)In [42]: (X - w[:,None]).shapeOut[42]: (2, 5, 3)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5654114.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存