【问题标题】:Normalize Probability using Dictionary Comprehension使用字典理解规范化概率
【发布时间】:2020-08-26 11:22:36
【问题描述】:

我的 python 字典看起来像

probabilities = {'harry': {'gene': {0: 0.23, 1: 0.09, 2: 0.13}, 'trait': {False: 0.23, True: 0.32}},
 'jim': {'gene': {0: 0.12, 1: 0.15, 2: 0.56}, 'trait': {False: 0.67, True: 0.12}}}

我通过编写类似的代码对其进行规范化

for person in probabilities:
        for attribute in probabilities[person]:
            denominator = sum(probabilities[person][attribute].values())
            for value in probabilities[person][attribute]:
                probabilities[person][attribute][value] /= denominator

代码没问题,因为它完美地规范了概率。但是我可以使用字典理解做同样的事情吗?如果是这样,怎么做?如果不是,为什么?

【问题讨论】:

    标签: dictionary-comprehension normalize


    【解决方案1】:

    一点点努力让我:

    probabilities = {'harry': {'gene': {0: 0.23, 1: 0.09, 2: 0.13}, 'trait': {False: 0.23, True: 0.32}},
                     'jim': {'gene': {0: 0.12, 1: 0.15, 2: 0.56}, 'trait': {False: 0.67, True: 0.12}}}
    
    probabilities_new = {
        p: {
            k: {
                k_inn: v_inn / sum(v.values())
                for k_inn, v_inn in v.items()
            }
            for k, v in a.items()
        }
        for p, a in probabilities.items()
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-10
      • 1970-01-01
      • 2020-12-31
      • 2013-05-30
      • 2021-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多