首页 > 解决方案 > 需要在 Python 中的 Pareto 分布代码中进行说明

问题描述

你能用代码解释一下'output.T'吗?我在谷歌上搜索过,但找不到任何答案来帮助更好地了解代码。代码是绘制帕累托分布。

import numpy as np
from matplotlib import pyplot as plt
from scipy.stats import pareto

xm = 1 # scale 
alphas = [1, 2, 3] # shape parameters
x = np.linspace(0, 5, 1000)

output = np.array([pareto.pdf(x, scale = xm, b = a) for a in alphas])
plt.plot(x, output.T)
plt.show()

在这段代码中, output.T 代表什么?具体来说,这里的 T 是什么?

标签: pythonnumpyscipy

解决方案


对于您的情况,您似乎会将列表列表转换为数组。.T进行转置,类似于数学中的矩阵运算。您可以通过以下方式看到差异: output.T.shape 与。 output.shape

这是一个小例子:

>>> np.array([1, 2, 3], ndmin=2)
array([[1, 2, 3]])
>>> a = np.array([1, 2, 3], ndmin=2)
>>> a
array([[1, 2, 3]])
>>> a.shape
(1, 3)
>>> a.T
array([[1],
       [2],
       [3]])
>>> a.T.shape
(3, 1) 

请注意,这实际上与 Pareto 分布本身没有任何关系,除了 Pareto 支持矢量化但.T对对象的操作中的操作这一事实,np.array因此这就是您想要在文档中寻找的内容。


推荐阅读