【问题标题】:Function with dictionary inputs and using sigma in python具有字典输入并在 python 中使用 sigma 的函数
【发布时间】:2017-07-31 07:56:45
【问题描述】:

我正在尝试创建一个计算以下公式的函数:

该函数将两个字典作为输入,并且必须返回一个正实数。

请帮助弄清楚如何在 python 中使用 sigma 并执行这个等式。提前感谢您的帮助/反馈!

【问题讨论】:

  • 粘贴样本字典和你想要的结果
  • @AnkurJyotiPhukan 这是一个示例输入:{'A': Fraction(48169, 599925), 'B': Fraction(8422, 599925), 'C': Fraction(4634, 199975), “D”:分数(9349、199975)、“E”:分数(74843、599925)、“F”:分数(13564、599925)、“G”:分数(12548、599925)、“H”:分数( 1559, 23997), 'I': 分数 (41017, 599925), 'J': 分数(238, 199975) 等}。两个输入的格式相同。我没有想要的结果样本。我只知道它必须输出一个正实数。
  • 上述公式的名称..
  • @AnkurJyotiPhukan 我不知道公式的具体名称,我只知道上面的公式衡量了给定文本中字母的分布与标准英语中的字母分布有多远。简而言之,该公式给出了频率的距离。
  • 制作sigma函数不是问题,但我对obsx和expx感到困惑

标签: python algorithm dictionary encryption


【解决方案1】:

这是您可以使用的功能。根据您在 cmets 中所说的话,字典必须具有相同的键,并且基于该假设,此功能应该可以完成工作:

def calculate_distance(obs_dict, exp_dict):
    distance = 0
    for key in obs_dict.keys():
        distance += (obs_dict[key] - exp_dict[key]) ** 2 / exp_dict[key]
    return distance

【讨论】:

  • 非常感谢!!
猜你喜欢
  • 2017-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-14
  • 1970-01-01
  • 1970-01-01
  • 2015-03-25
  • 1970-01-01
相关资源
最近更新 更多