A veces, mientras trabajamos con los diccionarios de Python, podemos tener problemas en los que necesitamos convertir los valores en proporciones con respecto al total. Esto puede tener aplicaciones en el dominio de Data Science y Machine Learning. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: Uso sum()
del bucle +
La combinación de las funcionalidades anteriores se puede utilizar para resolver este problema. En esto, realizamos la tarea de encontrar la suma usando sum(). Y la tarea de división se realiza dentro de un bucle usando división con suma de cada valor.
# 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))
El diccionario original es: {‘is’: 15, ‘best’: 20, ‘gfg’: 10}
Las proporciones dividen los valores: {‘is’: 0.33333333333333333, ‘best’: 0.4444444444444444, ‘gfg’: 0.2222222222222222}
Método #2: Uso de la comprensión del diccionario +sum()
La combinación de las funciones anteriores se puede usar para realizar esta tarea. En esto, calculamos la suma de manera similar al método anterior, y se usa la comprensión del diccionario para realizar la tarea de hacer un bucle en una línea.
# 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))
El diccionario original es: {‘is’: 15, ‘best’: 20, ‘gfg’: 10}
Las proporciones dividen los valores: {‘is’: 0.33333333333333333, ‘best’: 0.4444444444444444, ‘gfg’: 0.2222222222222222}
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA