小编jan*_*n93的帖子

当使用scipy.stats.multivariate_normal.pdf时出现错误:操作数无法与形状一起广播(1,8)(21,)

我想计算我在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,)

谁能帮忙?

python pdf gaussian scipy quantile

5
推荐指数
1
解决办法
7406
查看次数

在什么情况下你应该在python中实际使用生成器?

我试图了解发电机并了解如何使用它们.我已经看过很多例子,并且他们一次只能产生一个结果,而不是像常规函数那样一次输出它们.但是我见过的所有例子都涉及到列表和打印通过函数生成的值.如果你想真正创建一个列表怎么办?

例如,我已经看到一个关于偶数生成偶数并打印出来的数字的例子,但如果我想要一个偶数数列表如下:

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)

在这种情况下,生成器在哪些确切的情况下有用?

python iterator generator

2
推荐指数
1
解决办法
534
查看次数

标签 统计

python ×2

gaussian ×1

generator ×1

iterator ×1

pdf ×1

quantile ×1

scipy ×1