如果两个numpy数组的尺寸不匹配时如何回收元素?

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

我想做一些类似于以下R代码与numpy,其中y被回收。

R> x=rbind(c(1,2,3), c(4,5,6))
R> y=c(1,2)
R> x/y
     [,1] [,2] [,3]
[1,]    1  2.0    3
[2,]    2  2.5    3

显然,以下代码不适用于numpy。有谁知道什么是有效的python代码?谢谢。

>>> x=numpy.array([[1,2,3], [4, 5, 6]])
>>> y=numpy.array([1,2])
>>> x/y
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: operands could not be broadcast together with shapes (2,3) (2,) 
r numpy recycle
1个回答
1
投票

怎么样

x=numpy.array([[1,2,3], [4, 5, 6]])
y=numpy.array([1,2])
x/y[:, None]

y[:, None](2,)阵列转换为(2,1)阵列,从而允许使用x进行广播划分。

© www.soinside.com 2019 - 2024. All rights reserved.