用另一个NumPy数组划分NumPy数组

问题描述 投票:1回答:1

我有一个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,)

python numpy
1个回答
1
投票

多个数组之间的操作必须遵循numpy的broadcasting rules。在这里,您的第二个阵列必须重新塑造以形成(2, 1)通过

x / y.reshape(2, 1)

或者等价的

x / y[:, np.newaxis]
© www.soinside.com 2019 - 2024. All rights reserved.