Python – Desviación media de elementos

Dada una lista, la tarea es escribir un programa en Python para calcular qué tan desviados están cada uno de ellos de la media de su lista. 

Ejemplos:

Input : test_list = [7, 5, 1, 2, 10, 3] 
Output : [2.333333333333333, 0.33333333333333304, 3.666666666666667, 2.666666666666667, 5.333333333333333, 1.666666666666667] 
Explanation : Mean is 4.66667, related differences are computed.
 

Entrada : test_list = [1, 2, 3, 4, 5] 
Salida : [2, 1, 0, 1, 2] 
Explicación : la media es 3, se calculan las diferencias relacionadas. 

Método #1: Usar loop + mean() + abs()

En esto, realizamos una iteración de cada elemento y calculamos la desviación de la media usando abs(), el cálculo de la media se realiza usando mean().

Python3

# Python3 code to demonstrate working of
# Mean deviation of Elements
# Using loop + mean() + abs()
from statistics import mean
  
# initializing list
test_list = [7, 5, 1, 2, 10, 3]
  
# printing original lists
print("The original list is : " + str(test_list))
  
res = []
  
# getting mean
mean_val = mean(test_list)
  
for ele in test_list:
  
    # getting deviation
    res.append(abs(ele - mean_val))
  
# printing result
print("Mean deviations : " + str(res))

Producción:

La lista original es: [7, 5, 1, 2, 10, 3]
Desviaciones medias: [2.333333333333333, 0.33333333333333304, 3.66666666666667, 2.666666666666667, 5.33333333,6166633666666]

Método n.° 2: usar la comprensión de listas + mean() 

En esto, se utilizan funcionalidades similares a las de la función anterior, con la diferencia de que la comprensión de la lista se utiliza como una sola línea para resolver este problema.

Python3

# Python3 code to demonstrate working of
# Mean deviation of Elements
# Using list comprehension + mean()
from statistics import mean
  
# initializing list
test_list = [7, 5, 1, 2, 10, 3]
  
# printing original lists
print("The original list is : " + str(test_list))
  
res = []
  
# getting mean
mean_val = mean(test_list)
  
# list comprehension used for 1 liner
res = [abs(ele - mean_val) for ele in test_list]
  
# printing result
print("Mean deviations : " + str(res))

Producción:

La lista original es: [7, 5, 1, 2, 10, 3]
Desviaciones medias: [2.333333333333333, 0.33333333333333304, 3.66666666666667, 2.666666666666667, 5.33333333,6166633666666]

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *