首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >值数组的scipy.stats.norm

值数组的scipy.stats.norm
EN

Stack Overflow用户
提问于 2017-03-12 20:38:16
回答 1查看 3.1K关注 0票数 1

我想要计算一个数值数组的概率值,使用不同均值和方差的高斯值。因为,我可以这样做

代码语言:javascript
运行
复制
scipy.stats.norm.pdf(9, [10, 12, 14], [2, 4, 5])

它给出了3种不同高斯值- N(10,2),N(12,4)和N(14,5)的pdf值。我希望对多个值也这样做,如下所示

代码语言:javascript
运行
复制
scipy.stats.norm.pdf([8,9], [10, 12, 14], [2, 4, 5])

其中,8和9的pdf值是为三个高斯人计算的,我会得到一个2D数组作为返回。

问题

  1. 有什么可以让我这么做的吗?
  2. 如果对#1的回答是否定的,那么我如何在不使用for循环的情况下完成这个任务(请注意,我看了scipy中的vectorize,但是它在外壳下使用for循环)。我需要避免for循环,因为我将对数以百万计的值,为几个高斯人这样做。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-12 20:48:22

pdf方法将使用numpy 广播业,因此在第二个示例中,您可以将第一个参数设置为一个形状(2,1)的数组(实际上,“类似数组”就足够了)。具有形状(2,1)的数组与具有形状(3 )的数组广播,其结果是具有形状(2,3)的数组:

代码语言:javascript
运行
复制
In [14]: norm.pdf([[8],[9]], [10, 12, 14], [2, 4, 5])
Out[14]: 
array([[ 0.12098536,  0.06049268,  0.03883721],
       [ 0.17603266,  0.07528436,  0.04839414]])
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42752833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档