将NumPy数组除以另一个NumPy数组

时间:2019-02-27 16:38:23

标签: python numpy

我有一个NumPy数组x = np.array([[1, 2, 3], [4, 6, 8]]),我想将每个元素除以y。但是,y不是单个数字,而是数组y = np.array([2, 4])。我想将x的每一行除以y的每一行,以返回np.array([[0.5, 1.0, 1.5], [1.0, 1.5, 2.0])

我该怎么做?如果我只运行x / y,则会收到错误消息:ValueError: operands could not be broadcast together with shapes (2,3) (2,)

1 个答案:

答案 0 :(得分:1)

多个数组之间的操作必须遵循numpy的broadcasting rules。在这里,您的第二个数组必须通过以下方式重塑形状为(2, 1)

x / y.reshape(2, 1)

或等效地

x / y[:, np.newaxis]