gpt4 book ai didi

python - 我有一个带有两个独立离散变量的高斯函数。如何创建所有可能值的矩阵?

转载 作者:太空宇宙 更新时间:2023-11-04 00:55:38 25 4
gpt4 key购买 nike

基本上我有这个:

from scip.stats import norm
import pandas as pd

r = pd.Series([1, 2, 3])
k = pd.Series([0.2, 0.3, 0.4, 0.5])
x = 2

mean = x + k
variance = k

# I'm feeding the gaussian function two vectors.
# I'd like to get a matrix back of all possible combinations. Quickly.

values = norm.pdf(r, mean, variance)

所以我给函数 norm.pdf 两个数据向量,我想要一个返回给我的 (3x4) 矩阵,如下所示:

values(1, 0.2)    values(1, 0.3)    values(1, 0.4)    values(1, 0.5)
values(2, 0.2) ...
values(3, 0.2) ...
values(4, 0.2) ........... ........... values(4, 0.5)

我知道我可以遍历所有数组中的所有项目,但这会花费很多时间,而且我计划将其扩大一些。我想利用 numpy 的速度。我试过矢量化,但失败了。有任何想法吗?谢谢!!!

最佳答案

您可以将 pdf 应用于 r 的每个元素,并使用以下方法自动将结果放入矩阵中:

r.apply(lambda x: pd.Series(norm.pdf(x, mean, variance), index=k))

如果您从 apply 返回一个 Series,那么结果会自动解压缩到列中。输出:

            0.2       0.3       0.4       0.5
0 3.037941e-08 0.000111 0.002182 0.008864
1 1.209854e+00 0.806569 0.604927 0.483941
2 6.691511e-04 0.087406 0.323794 0.483941

关于python - 我有一个带有两个独立离散变量的高斯函数。如何创建所有可能值的矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35281237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com