有时,在使用 Python 字典时,我们可能会遇到需要将值转换为相对于总数的比例的问题。这可以在数据科学和机器学习领域有应用。让我们讨论一下可以执行此任务的某些方式。
方法#1:使用sum()
+循环
上述函数的组合可以用来解决这个问题。在此,我们使用 sum() 执行求和的任务。除法的任务是在一个循环中使用除法和每个值的总和来完成的。
# Python3 code to demonstrate working of
# Convert Values into proportions
# Using sum() + loop
# initializing dictionary
test_dict = { 'gfg' :10, 'is' :15, 'best' :20 }
# printing original dictionary
print("The original dictionary is:" + str(test_dict))
# Convert Values into proportions
# Using sum() + loop
temp = sum(test_dict.values())
for key, val in test_dict.items():
test_dict[key] = val / temp
# printing result
print("The proportions divided values:" + str(test_dict))
输出:
The original dictionary is:{‘is’:15, ‘best’:20, ‘gfg’:10}
The proportions divided values:{‘is’:0.3333333333333333, ‘best’:0.4444444444444444, ‘gfg’:0.2222222222222222}
方法#2:使用字典理解+sum()
上述函数的组合可用于执行此任务。在此,我们以与上述方法类似的方式计算 sum,并使用字典理解来执行在一个 liner 中循环的任务。
# Python3 code to demonstrate working of
# Convert Values into proportions
# Using dictionary comprehension + sum()
# initializing dictionary
test_dict = { 'gfg' :10, 'is' :15, 'best' :20 }
# printing original dictionary
print("The original dictionary is:" + str(test_dict))
# Convert Values into proportions
# Using dictionary comprehension + sum()
temp = sum(test_dict.values())
res = {key:val / temp for key, val in test_dict.items()}
# printing result
print("The proportions divided values:" + str(res))
输出:
The original dictionary is:{‘is’:15, ‘best’:20, ‘gfg’:10}
The proportions divided values:{‘is’:0.3333333333333333, ‘best’:0.4444444444444444, ‘gfg’:0.2222222222222222}
注:本文由纯净天空筛选整理自manjeet_04大神的英文原创作品 Python – Convert Values into proportions。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。