首页 > 解决方案 > 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.36666667  0.59      ]

(3, 3)
[[ 0.47252016]
 [ 0.44380355]
 [ 0.51070646]]

我有两个具有不同值的相同形状的 numpy 数组作为输入,一个是使用函数生成的,另一个是使用该rand函数创建的 python 列表array并在其上调用 reshape。

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

标签: pythonarraysnumpy

解决方案


如文档中所述numpy.matrix

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

此外,

不再推荐使用这个类,即使是线性代数。而是使用常规数组。将来可能会删除该类。


推荐阅读