使用有序字典中的参数从正态分布中抽样

时间:2018-12-08 14:47:51

标签: python-3.x dictionary random

在创建一个函数时需要帮助,该函数可以从随机均匀分布中使用有序字典中定义的参数进行采样,并使用任何随机种子返回以参数名称作为键的字典。

parameter=OrderedDict([('a', (100.0, 0.0)), ('b', (90.0, 5.0))])

NB:(100.0, 0.0)分别是均值和标准差

预期收益:{'a': 105.46565, 'b': 90}

谢谢

1 个答案:

答案 0 :(得分:0)

像这样吗?

from collections import OrderedDict
import random

parameter = OrderedDict([('a', (100.0, 0.0)), ('b', (90.0, 5.0))]) 
samples = {}

for k, (mu, sigma) in parameter.items(): 
    samples[k] = random.normalvariate(mu, sigma)

>>> print(samples)
{'a': 100.0, 'b': 89.02621974794464}