He trabajado con datos en Python durante mucho tiempo y muchas veces he necesitado de calcular promedios, medir la dispersión de un conjunto de valores o de analizar distribuciones. El día de hoy quiero enseñarte cómo realizar esto gracias al módulo import statistics en Python y te voy a a explicar para qué sirve.
¿Qué es el módulo statistics?: una herramienta básica pero poderosa
Si necesitas identificar patrones o características importantes dentro de un conjunto de datos, por ejemplo el valor promedio o la variabilidad entre ellos, el módulo de import statistics en Python es una muy buena opción, ya que actúa como una calculadora científica que incluye herramientas diversas para este propósito. Hace parte de la biblioteca estándar de Python desde la versión 3.4 y ha sido diseñado para realizar cálculos estadísticos sin tener que instalar bibliotecas externas.
¿Qué es y para qué sirve import statistics en Python?
Al hacer uso de import statistics en Python estás accediendo a un conjunto de funciones que te permitirán calcular medidas estadísticas. Estas herramientas permiten analizar datos numéricos dentro de áreas como la tendencia central, la dispersión y las distribuciones normales. Tienen un objetivo primordial y es el de facilitar cálculos matemáticos básicos con datos numéricos entre los que se incluyen números enteros, flotantes, fracciones y decimales.
Algunas de las funciones más destacadas del import statistics en Python son el cálculo de promedios como la media, la mediana y la moda, la medición de la dispersión como la varianza y la desviación estándar, también herramientas para trabajar con distribuciones normales.
¿Qué funciones cumple el import statistics en Python?
Algunas de las funciones que desarrolla el módulo de import statistics en Python son:
Medidas de tendencia central
Las funciones de tendencia central te ayudan a identificar el valor que mejor representa a un conjunto de datos:
- mean calcula el promedio aritmético de los datos.
- median encuentra el valor central en un conjunto de datos ordenado.
- mode retorna el valor más común en un conjunto de datos.
🔴 ¿Quieres Aprender a Programar con Python? 🔴
Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semanaVeamos un ejemplo del uso de cada una:
from statistics import mean, median, mode
data = [1, 2, 3, 4, 4, 5]
print(mean(data)) # Resultado: 3.1666666666666665
print(median(data)) # Resultado: 3.5
print(mode(data)) # Resultado: 4
Medidas de dispersión
Estas funciones te permiten analizar qué tan dispersos están los datos alrededor de un valor típico:
- variance calcula la varianza de una muestra.
- stdev calcula la desviación estándar de una muestra.
En un ejemplo de práctica se vería así:
from statistics import variance, stdev
data = [1, 2, 3, 4, 5]
print(variance(data)) # Resultado: 2.5
print(stdev(data)) # Resultado: 1.5811388300841898
Distribuciones normales
La clase NormalDist permite trabajar con distribuciones normales, calcular probabilidades acumulativas y generar datos simulados. Puedes, por ejemplo, calcular la probabilidad acumulada de un valor específico en una distribución normal del sigueinte modo:
from statistics import NormalDist
dist = NormalDist(mu=100, sigma=15)
print(dist.cdf(120)) # Probabilidad acumulada hasta el valor 120
Diferencias con otras bibliotecas
Si bien el import statistics en Python es muy fácil de usar, no puede ser usado para manejar análisis complejos o trabajar con grandes conjuntos de datos. Numpy, en este caso, es más adecuado para operaciones que impliquen el uso de álgebra lineal y cálculos de matrices, mientras que pandas es mejor en manipulación y análisis de datos estructurados. Veamos una tabla que resume las diferencias entre todas las bibliotecas mencionadas:
Característica | statistics | NumPy | pandas |
---|---|---|---|
Propósito principal | Cálculos estadísticos básicos | Operaciones matemáticas y estadísticas avanzadas | Manipulación y análisis de datos estructurados |
Facilidad de uso | Alta, diseñado para cálculos simples | Moderada, requiere aprendizaje adicional | Moderada, especialmente útil con grandes volúmenes de datos |
Instalación | Incluido en la biblioteca estándar de Python | Necesita instalación externa | Necesita instalación externa |
Rendimiento | Adecuado para conjuntos pequeños de datos | Muy alto, optimizado para grandes volúmenes de datos | Alto, diseñado para manejar grandes estructuras de datos |
Soporte para matrices | No soportado | Sí, ampliamente soportado | Sí, a través de DataFrames y Series |
Funciones estadísticas | Básicas (media, mediana, varianza, etc.) | Avanzadas (matrices, correlaciones, transformaciones FFT) | Estadísticas descriptivas y análisis sobre estructuras de datos |
Estructuras de datos soportadas | Listas, tuplas, iterables básicos | Arrays multidimensionales | DataFrames y Series tabulares |
Facilidad de integración | Excelente para scripts ligeros y proyectos pequeños | Excelente para proyectos numéricos y de ciencia de datos | Ideal para ETL y análisis de datos tabulares |
Complejidad de uso | Baja | Media | Media |
Tamaño de datos recomendado | Pequeño a mediano | Mediano a grande | Mediano a grande |
Si te interesa seguir aprendiendo sobre diferentes temáticas relacionadas con esta, no dudes en suscribirte a nuestro bootcamp en programación desde cero, en el cual aprenderás todo lo necesario para incursionar y dar tus primeros pasos en el mercado laboral tecnológico. ¡No dudes más y no pierdas esta gran oportunidad!