【发布时间】:2016-02-14 02:47:21
【问题描述】:
使用 numpy 的优秀广播规则,您可以使用
从形状 (5,3) 数组X 中减去形状 (3,) 数组 v
X - v
结果是一个形状 (5,3) 数组,其中每一行 i 是差 X[i] - v。
有没有办法从 X 中减去形状 (n,3) 数组 w,以便在不显式使用循环的情况下从整个数组 X 中减去 w 的每一行?
【问题讨论】:
-
输出数组的形状是什么?
-
我们需要从一个形状 (5,3) 数组中减去 n 个形状 (3,) 向量,所以结果将是一个形状 (5,3,n) 数组。
-
我认为应该是
(5,n,3),不是吗?因为最后一个轴是行。 -
事实上排序并不重要,因为我可以使用
swapaxes来实现所需的排序(在我的情况下为 (n,5,3))。
标签: python arrays numpy vectorization array-broadcasting