2011-04-21 26 views
37

在用于SciPy的多元正态分布采样功能的帮助资源,他们给了下面的例子:语法在Python(.T)

x,y = np.random.multivariate_normal(mean,cov,5000).T 

我的问题是相当基本的:是什么最终.T实际上做?

非常感谢,我知道这很简单,但很难在Google上查找“.T”。

+1

谷歌搜索这个秘诀是把它放在引号中。当然,当我搜索它时,我得到了这个页面! – Kallaste 2017-04-30 08:37:01

+0

我希望这可以帮助碰到它的其他人,但'''''反转轴的顺序,而不是切换最后两个。这意味着如果你的数组'x'是3-D,'x.T'和'x.transpose((2,1,0))'是一样的。如果你想切换最后两个轴,在这种情况下,你可以执行'x.transpose((0,2,1))'。 – 2018-02-02 07:39:02

回答

42

.T访问对象的属性T,该属性碰巧是一个NumPy数组。 T属性是该阵列的转置,请参阅the documentation

显然你正在飞机上创建随机坐标。的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]]) 

该矩阵的转置是:

array([[ 0.59589335, -0.58597307, -0.69164572, -0.24992978, 0.38896689], 
     [ 0.97741328, 0.56733234, 0.17840394, -2.57494471, 0.82221377]]) 

可在xy份序列拆包方便地分离。

-2

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