Python中的语法(.T)

Leo*_*fox 58 python numpy

在SciPy中的多变量正常采样函数的帮助资源中,它们给出了以下示例:

x,y = np.random.multivariate_normal(mean,cov,5000).T
Run Code Online (Sandbox Code Playgroud)

我的问题很基本:最后的.T究竟做了什么?

非常感谢,我知道这很简单,但很难在Google中查找".T".

Sve*_*ach 66

.T访问属性T的对象,这恰好是一个NumPy的阵列组成.该T属性是数组的转置,请参阅文档.

显然你正在飞机上创建随机坐标.输出multivariate_normal()可能如下所示:

>>> np.random.multivariate_normal([0, 0], [[1, 0], [0, 1]], 5)  
array([[ 0.59589335,  0.97741328],
       [-0.58597307,  0.56733234],
       [-0.69164572,  0.17840394],
       [-0.24992978, -2.57494471],
       [ 0.38896689,  0.82221377]])
Run Code Online (Sandbox Code Playgroud)

该矩阵的转置是:

array([[ 0.59589335, -0.58597307, -0.69164572, -0.24992978,  0.38896689],
       [ 0.97741328,  0.56733234,  0.17840394, -2.57494471,  0.82221377]])
Run Code Online (Sandbox Code Playgroud)

可以通过顺序拆包方便地分开x和分开y.


小智 10

.T 只是 np.transpose()。祝你好运

  • 这不是完整的图景。如果矩阵的维数小于 2,则返回原始矩阵。所以它是具有运行时安全性的转置函数。 (2认同)