问题描述
我正尝试从原始矩阵中减去均值(多行),如下所示:
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
然后它将起作用。