Python Numpy形状相同,平均值返回不同的形状

Python Numpy形状相同,平均值返回不同的形状,python,arrays,numpy,Python,Arrays,Numpy,我有以下片段 values = [[0.1, 0.7, 0.5], [0.6, 0.3, 0.2], [0.2, 0.8, 0.77]] A = np.array(values).reshape(3,3) print A.shape print np.mean(A, axis=1) B = np.mat(np.random.rand(3, 3)); print B.shape print np.mean(B, axis=1) 打印语句的输出: (3, 3) [ 0.43333333 0.3

我有以下片段

values = [[0.1, 0.7, 0.5], [0.6, 0.3, 0.2], [0.2, 0.8, 0.77]]
A = np.array(values).reshape(3,3)
print A.shape
print np.mean(A, axis=1)

B = np.mat(np.random.rand(3, 3));
print B.shape
print np.mean(B, axis=1)
打印语句的输出:

(3, 3)
[ 0.43333333  0.36666667  0.59      ]

(3, 3)
[[ 0.47252016]
 [ 0.44380355]
 [ 0.51070646]]
我有两个形状相同的numpy数组,它们的输入值不同,一个是使用
rand
函数生成的,另一个是使用
array
函数创建的python列表,并对其调用重塑


然而,平均回报的形状对于两者都是不同的形状,即使输入形状是相同的。有什么想法会导致这种情况吗?

如文档中所述

矩阵是一种特殊的二维数组,通过运算保持其二维性质

另外,

不再建议使用该类,即使对于线性代数也是如此。而是使用正则数组。将来可能会删除该类


确实是这样,我只是想看看。。。谢谢,这就解释了!许多采用
axis
参数的函数/方法也采用
keepdims
参数。如果
True
,它可以使数组平均值的行为更像矩阵平均值。