Numpy形状相同,均值返回不同的形状[重复]
Posted
技术标签:
【中文标题】Numpy形状相同,均值返回不同的形状[重复]【英文标题】:Numpy shape is same, mean returns different shapes [duplicate] 【发布时间】:2020-05-06 03:40:53 【问题描述】:我有以下sn-p。
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
函数创建并对其调用 reshape 的 python 列表。
但是,尽管输入形状相同,但两者的平均回报形状却不同。有什么想法会导致这种情况吗?
【问题讨论】:
确实如此,只是想通了一遍......谢谢,这就解释了! 许多采用axis
参数的函数/方法也采用keepdims
参数。如果True
,它可以使数组平均值表现得更像矩阵一。
【参考方案1】:
如numpy.matrix
的文档中所述,
矩阵是一种特殊的二维数组,通过运算保持其二维性质
另外,
不再推荐使用这个类,即使是线性代数。而是使用常规数组。将来可能会删除该类。
【讨论】:
以上是关于Numpy形状相同,均值返回不同的形状[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用逐元素操作获取多个 numpy 保存的数组的均值和标准
python使用numpy的array_equal函数判断两个numpy数组是否具有相同的形状(shape)和元素(elements)如果都满足则返回True否则返回False