python

Python – Media y mediana de lista

La media de un arreglo es el promedio del mismo. Para obtenerla se divide la sumatoria de los elementos entre la longitud del mismo. Por otro lado, la mediana es el elemento que está a la mitad del arreglo ordenado.

En este post de programación en Python vamos a ver cómo obtener la media y la mediana de una lista, arreglo o array.

Por cierto, en cuanto a la mediana… si la longitud del arreglo es par, se promedian los dos elementos centrales.

Nota: en este post me referiré a la misma cosa cuando diga arreglo, array o lista.

Obtener media aritmética

Para calcular el promedio del arreglo hay que recorrerlo usando un ciclo for. En cada paso, hay que sumar el valor actual a una sumatoria que declaramos en cero antes del ciclo.

Después dividimos esa sumatoria entre la longitud del arreglo.

def obtener_media(arreglo):
    # La media es básicamente el promedio
    sumatoria = 0
    for valor in arreglo:
        sumatoria += valor
    longitud = len(arreglo)
    return sumatoria / longitud

He encerrado el comportamiento en una función para que el código esté más limpio y ordenado. Esta función de Python 3 recibe un arreglo y regresa la media.

Mediana

Ahora veamos el caso de la mediana. Antes de obtenerla, debemos ordenar el arreglo usando el método de nuestra preferencia. Yo usaré sort, que ordena al arreglo internamente.

Después de haberlo ordenado, calculamos el índice del elemento que se encuentra a la mitad de la lista de Python. En caso de que la longitud del arreglo sea par, promediamos los elementos centrales y esa es la mediana.

En caso de que la longitud sea par, la mediana es el elemento que se encuentra en la mitad. Todo esto traducido a código queda así:

def obtener_mediana(arreglo):
    # Primero lo ordenamos. Puedes hacerlo manualmente o con métodos del lenguaje:
    # https://parzibyte.me/blog/2020/09/25/ordenar-listas-python/
    arreglo.sort()
    # Obtener longitud
    longitud = len(arreglo)
    mitad = int(longitud / 2)
    # Si la longitud es par, promediar elementos centrales
    if longitud % 2 == 0:
        mediana = (arreglo[mitad - 1]+arreglo[mitad]) / 2
    else:
        # Si no, es la del centro
        mediana = arreglo[mitad]
    return mediana

Esta función recibe un arreglo, lista o array y devuelve la mediana. Fíjate que para saber si la longitud es par o impar, comparamos si su residuo al dividirla entre 2 es 0 en la línea 10.

Código completo

Obtener media y mediana de arreglo en Python

Bien, ya vimos las funciones por separado. Ahora veamos cómo es que podemos invocarlas, con un ejemplo:

"""
    https://parzibyte.me/blog
"""


def obtener_mediana(arreglo):
    # Primero lo ordenamos. Puedes hacerlo manualmente o con métodos del lenguaje:
    # https://parzibyte.me/blog/2020/09/25/ordenar-listas-python/
    arreglo.sort()
    # Obtener longitud
    longitud = len(arreglo)
    mitad = int(longitud / 2)
    # Si la longitud es par, promediar elementos centrales
    if longitud % 2 == 0:
        mediana = (arreglo[mitad - 1]+arreglo[mitad]) / 2
    else:
        # Si no, es la del centro
        mediana = arreglo[mitad]
    return mediana


def obtener_media(arreglo):
    # La media es básicamente el promedio
    sumatoria = 0
    for valor in arreglo:
        sumatoria += valor
    longitud = len(arreglo)
    return sumatoria / longitud


arreglo = [5, 123, 1, 4, 3, 1, 9, 8, 1]
print("El arreglo es: " + str(arreglo))
mediana = obtener_mediana(arreglo)
print(f"La mediana es {mediana}")
media = obtener_media(arreglo)
print(f"La media es {media}")

En este caso la media será impresa tal y como es. Si quieres puedes redondearla a dos decimales. Obviamente el arreglo puede ser cambiado por alguno de tu preferencia, incluso podría ser llenado por el usuario.

Te invito a leer más tutoriales sobre Python en mi blog.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

4 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

5 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

4 semanas hace

Esta web usa cookies.