2011-04-21 64 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()。 祝你好運