您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

5b51 2022/1/14 8:22:26 python 字数 943 阅读 547 来源 www.jb51.cc/python

使用numpy的优秀广播规则,您可以从形状(5,3)数组X中减去形状(3,)数组v X - v 结果是形状(5,3)数组,其中每行i是差X [i] -v. 有没有办法从X中减去一个形状(n,3)数组w,以便从整个数组X中减去w的每一行而不显式使用循环? 您需要使用 None/np.newaxis扩展X的尺寸以形成3D阵列,然后通过w进行减法.这将使 broadcasting在这个3D操作中发挥作用

概述

X - v

结果是形状(5,3)数组,其中每行i是差X [i] -v.

有没有办法从X中减去一个形状(n,3)数组w,以便从整个数组X中减去w的每一行而不显式使用循环?

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

相反,如果所需的排序是(n,5,3),那么你需要扩展w的维度,就像这样 –

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

样品运行 –

In [39]: X
Out[39]: 
array([[5,4],[8,1,8],[0,5],3,1],[6,2,5]])

In [40]: w
Out[40]: 
array([[8,[7,8,6]])

In [41]: (X[:,None] - w).shape
Out[41]: (5,3)

In [42]: (X - w[:,None]).shape
Out[42]: (2,3)

总结

以上是编程之家为你收集整理的python – 有效地减去不同形状的numpy数组全部内容,希望文章能够帮你解决python – 有效地减去不同形状的numpy数组所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶