【发布时间】:2017-06-18 18:15:51
【问题描述】:
这可能是一个非常简单的问题,但我没有弄清楚。
我有一个形状为 (3,2) 的二维 numpy 数组和一个形状为 (3,) 的一维数组:
A = [[2,4],[6,8][10,12]]
B = [1,2,4]
我想将数组 A 除以数组 B,得到:
[[2,4],[3,4][2.5,3]]
但 numpy 不会让我这样做,我认为是因为形状不对。我得到熟悉的“操作数无法与形状 (10,2) (10,) 一起广播”错误。
我尝试了 reshape 和 swapaxis,但它不起作用。我更希望能够在没有 for 循环的情况下执行此操作(因为我需要对大型数组多次执行此操作)并且不必交换数组 A 的轴(因为其他数组是这种形状)。
你们能帮帮我吗?
【问题讨论】:
-
你试过
np.reshape([1,2,4], (3,1))吗? (10,) 数组可以广播到 (1,10) 和 (2,10)。但是在另一端添加维度需要您采取明确的行动。
标签: python python-2.7 numpy array-broadcasting