我想计算我在python上的数据集的多变量高斯密度函数.我的数据集有21个变量,有75个数据点.
我已经计算了协方差矩阵(cov),它是一个21*21阵列,平均数组m,它有形状(21,).我需要使用这个scipy函数的另一个输入是"Quantiles(类似数组),x的最后一个轴表示组件".
我真的不明白分位数所指的是什么.
我为该函数写了我的分位数输入为quantiles = np.array([0.0,0.01,0.05,0.1,1-0.10,1-0.05,1-0.01,1.0])但是当我计算scipy时我一直收到错误.stats.multivariate_normal.pdf(位数,米,COV)
错误是:valueError:操作数无法与形状一起广播(1,8)(21,)
谁能帮忙?
我试图了解发电机并了解如何使用它们.我已经看过很多例子,并且他们一次只能产生一个结果,而不是像常规函数那样一次输出它们.但是我见过的所有例子都涉及到列表和打印通过函数生成的值.如果你想真正创建一个列表怎么办?
例如,我已经看到一个关于偶数生成偶数并打印出来的数字的例子,但如果我想要一个偶数数列表如下:
def even(k):
for i in range(k):
if (i%2):
yield k
even_list = []
for i in even(100):
even_list.append(i)
Run Code Online (Sandbox Code Playgroud)
这是否会破坏使用生成器的目的,因为它会在偶数列表中创建它.这种方法是否仍能节省一些内存/时间?
或者以下方法不使用生成器同样有效.
def even(k):
evens_list = []
for i in range(k):
if (i%2):
evens_list.append(i)
return evens_list
Run Code Online (Sandbox Code Playgroud)
在这种情况下,生成器在哪些确切的情况下有用?