【问题标题】:Numpy shape is same, mean returns different shapes [duplicate]Numpy形状相同,均值返回不同的形状[重复]
【发布时间】: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,它可以使数组平均值表现得更像矩阵一。

标签: python arrays numpy


【解决方案1】:

numpy.matrix 的文档中所述,

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

另外,

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-20
    • 1970-01-01
    • 2019-11-11
    • 1970-01-01
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多