Подтвердить что ты не робот

Синтаксис в Python (.T)

В справочном ресурсе для многомерной нормальной функции выборки в SciPy они приводят следующий пример:

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

Мой вопрос довольно простой: что делает окончательный .T на самом деле?

Спасибо большое, я знаю, что это довольно просто, но трудно найти в Google для ".T".

4b9b3361

Ответ 1

.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]])

Транспонирование этой матрицы:

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

который удобно разделять в частях x и y путем распаковки последовательностей.

Ответ 2

.T это просто np.transpose(). Удачи