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

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

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

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

最佳答案

.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这两个部分。

关于python - Python 中的语法 (.T),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5741372/

10-12 22:43