首页 > 解决方案 > 使用有序字典中的参数从正态分布中采样

问题描述

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

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

注意:(100.0, 0.0)分别是平均值和标准偏差

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

谢谢

标签: python-3.xdictionaryrandom

解决方案


像这样的东西?

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}

推荐阅读