numpy广播公司没有';当我认为它应该工作时,它不工作?

numpy广播公司没有';当我认为它应该工作时,它不工作?,numpy,array-broadcasting,Numpy,Array Broadcasting,我试图从原始矩阵中减去平均值(行数),如下所示: matrix = matrix - np.mean(matrix,axis=1) (其中矩阵为57 x 150)但我得到以下误差: ValueError: operands could not be broadcast together with shapes (57,150) (57,) 我很困惑。我以为广播应该解决这个问题?是否有一种方法可以使用宽体字从矩阵中减去每一行的平均值,而无需执行一些expand_dims和tile操作?谢谢问

我试图从原始矩阵中减去平均值(行数),如下所示:

matrix = matrix - np.mean(matrix,axis=1)
(其中矩阵为57 x 150)但我得到以下误差:

ValueError: operands could not be broadcast together with shapes (57,150) (57,) 
我很困惑。我以为广播应该解决这个问题?是否有一种方法可以使用宽体字从矩阵中减去每一行的平均值,而无需执行一些
expand_dims
tile
操作?谢谢

问题在这里

`np.mean(matrix,axis=1)`
平均值将返回一个值而不是两个值,请尝试使用下面的代码

m = np.mean(matrix,axis=1, keepdims=True)
matrix = matrix - m
那就行了。

问题就在这里

`np.mean(matrix,axis=1)`
平均值将返回一个值而不是两个值,请尝试使用下面的代码

m = np.mean(matrix,axis=1, keepdims=True)
matrix = matrix - m

广播可以自动添加前导维度,但必须显式添加尾随维度。广播可以自动添加前导维度,但必须显式添加尾随维度。