gpt4 book ai didi

python - numpy 的 np.transpose(matrix) 和 np.matrix.transpose() 在二维矩阵上的区别?

转载 作者:太空宇宙 更新时间:2023-11-03 21:45:37 25 4
gpt4 key购买 nike

在没有指定轴的情况下,numpy 的 np.transpose(matrix) 和 np.matrix.transpose() 在二维矩阵上是否存在功能差异?

另外,有人可以尝试直观地解释轴规范如何工作吗?

谢谢!

最佳答案

In [16]: np.matrix.transpose
Out[16]: <method 'transpose' of 'numpy.ndarray' objects>

这与np.ndarray.transpose相同。换句话说,它是 np.matrix 子类从父 np.ndarray 继承的 transpose 方法(我们通常称之为 numpy 数组)。

np.transpose 是等效的函数,最终调用 transpose 方法。它的不同之处在于它可以首先将其输入转换为数组,例如如果输入是一个列表。当然,列表没有转置方法。

至于它的作用 - 对于二维数组,它执行通常的数学定义的转置。令其他语言的用户感到困惑的是,它将概念推广到 1d、3d 和更高维度。当您使用它时,请确保您了解一维数组和二维数组之间的区别。如果您不清楚这一点,转置将仍然是一个难题。

转置及其轴参数已在其他 SO 问题中进行了解释。我建议您在交互式 session 的同时阅读文档,在其中您可以使用不同维度的数组。

In [23]: x = np.arange(24).reshape(2,3,4)
In [24]: x.transpose().shape
Out[24]: (4, 3, 2)
In [25]: x.transpose(0,2,1).shape
Out[25]: (2, 4, 3)

不要试图继承 MATLAB 直觉。

关于python - numpy 的 np.transpose(matrix) 和 np.matrix.transpose() 在二维矩阵上的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52521358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com