Python中的语法(.T)

时间:2011-04-21 08:17:45

标签: python numpy

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

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

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

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

3 个答案:

答案 0 :(得分:61)

.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部分方便地分开。

答案 1 :(得分:0)

示例

import numpy as np
a = [[1, 2, 3]]
b = np.array(a).T  # ndarray.T The transposed array. [[1,2,3]] -> [[1][2][3]]
print("a=", a, "\nb=", b)
for i in range(3):
    print(" a=", a[0][i])  # prints  1 2 3
for i in range(3):
    print(" b=", b[i][0])  # prints  1 2 3 

答案 2 :(得分:-1)

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