繁体   English   中英

如何计算字典中值的比率?

[英]How do I calculate a ratio for values within a dictionary?

假设我有这样一本字典:

d = {1.0: 11, 2.0: 3, 3.0: 7}

我需要计算每个值与后面的值 (k+1) 的比值,然后将计算出的所有比值之和除以计算出的比值个数,在本例中为 2。如果有兴趣,这是用于计算一个 '分叉点stream 统计数据中的比率'。

预计 output:

  • r1 = 11/3 = 3.67
  • r2 = 3/7 = 0.43

比率总和 = 3.67 + 0.43 = 4.1 解决方案 = 4.1 / 2 = 2.05

d = {1.0: 11, 2.0: 3, 3.0: 7}

ratio_values = list(d.values())

count = len(ratio_values) - 1
ratio_sum = 0

for i in range(len(ratio_values) - 1):
    #adds the ratio between two consecutive values to the total sum
    ratio_sum += ratio_values[i]/ratio_values[i+1]

print(ratio_sum/count)
import numpy as np

arr = np.array(list(d.values()))
arr

ans = 0
ratios = []
for i in range(1, len(arr)):
    ratios.append(arr[i-1]/arr[i])
ans = sum(ratios)/len(ratios)
d = {1.0: 11, 2.0: 3, 3.0: 7}
d = list(d.values())

ratios = []
solution = 0.0

per = d[0]
for v in d[1:]:
    ratios.append(per/v)
    per = v

solution = sum(ratios)/len(ratios)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM