saca para mediana graficar estandar estadistica desviacion descriptiva con como comando calcular python median

python - para - Cómo encontrar la mediana



media en python (6)

Esta pregunta ya tiene una respuesta aquí:

Tengo datos como este.

Ram,500 Sam,400 Test,100 Ram,800 Sam,700 Test,300 Ram,900 Sam,800 Test,400

¿Cuál es el camino más corto para eliminar la "mediana" de los datos anteriores? Mi resultado debería ser algo como ...

Mediana = 1/2 (n + 1), donde n es el número de valores de datos en la muestra.

Test 500 Sam 700 Ram 800


Comencé con la respuesta del usuario 3100512 y rápidamente me di cuenta de que no funciona para un número par de artículos. Le agregué algunos condicionales para calcular la mediana.

def median(x): if len(x)%2 != 0: return sorted(x)[len(x)/2] else: midavg = (sorted(x)[len(x)/2] + sorted(x)[len(x)/2-1])/2.0 return midavg median([4,5,6,7])

debe devolver 5.5


La forma más fácil de obtener la mediana de una lista con datos enteros:

x = [1,3,2] print "The median of x is:",sorted(x)[len(x)//2]


Mira esto:

def median(lst): even = (0 if len(lst) % 2 else 1) + 1 half = (len(lst) - 1) / 2 return sum(sorted(lst)[half:half + even]) / float(even)

Nota:

sorted(lst) produce una copia ordenada de lst ;

sum([1]) == 1 ;


No está claro cómo se representan realmente sus datos, así que asumí que es una lista de tuplas:

data = [(''Ram'',500), (''Sam'',400), (''Test'',100), (''Ram'',800), (''Sam'',700), (''Test'',300), (''Ram'',900), (''Sam'',800), (''Test'',400)] from collections import defaultdict def median(mylist): sorts = sorted(mylist) length = len(sorts) if not length % 2: return (sorts[length / 2] + sorts[length / 2 - 1]) / 2.0 return sorts[length / 2] data_dict = defaultdict(list) for el in data: data_dict[el[0]].append(el[1]) print [(key,median(val)) for key, val in data_dict.items()] print median([5,2,4,3,1]) print median([5,2,4,3,1,6]) #output: [(''Test'', 300), (''Ram'', 800), (''Sam'', 700)] 3 3.5

La función median devuelve la mediana de una lista. Si hay un número par de entradas, toma el valor medio de las dos entradas del medio (esto es estándar).

He usado defaultdict para crear un dictado por sus datos y sus valores, que es una representación más útil de sus datos.


Python 3.4 incluye statistics integradas, por lo que puedes usar el método statistics.median :

>>> from statistics import median >>> median([1, 3, 5]) 3