numpy 广播在我认为应该的时候不起作用?
numpy broadcasting doesn't work when i think it should?
我正在尝试从原始矩阵中减去平均值(跨行),如下所示:
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)`
意思是return你一个值而不是两个值,尝试使用下面的代码...
m = np.mean(matrix,axis=1, keepdims=True)
matrix = matrix - m
然后就可以了..
我正在尝试从原始矩阵中减去平均值(跨行),如下所示:
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)`
意思是return你一个值而不是两个值,尝试使用下面的代码...
m = np.mean(matrix,axis=1, keepdims=True)
matrix = matrix - m
然后就可以了..