Ejemplo de cálculo en python
Aquí tienes ejemplos de cómo calcular medidas descriptivas utilizando Python. Usaremos bibliotecas como numpy
y pandas
, que son muy útiles para el análisis de datos. Asegúrate de tenerlas instaladas en tu entorno. Si aún no las tienes, puedes instalarlas usando:
pip install numpy pandas
Ejemplo Completo en Python
Supongamos que tenemos el siguiente conjunto de datos que representa las puntuaciones obtenidas por 10 estudiantes en un examen:
- Datos: 7, 8, 9, 8, 7, 8, 9, 8, 7, 8
Vamos a calcular la media, mediana, moda, rango, varianza, desviación estándar y crear una tabla de frecuencias.
Código
import numpy as np
import pandas as pd
from scipy import stats
# Datos
scores = [7, 8, 9, 8, 7, 8, 9, 8, 7, 8]
# Convertir a un array de numpy
scores_array = np.array(scores)
# 1. Media
mean = np.mean(scores_array)
print(f"Media: {mean}")
# 2. Mediana
median = np.median(scores_array)
print(f"Mediana: {median}")
# 3. Moda
mode = stats.mode(scores_array)[0] # stats.mode devuelve un objeto
print(f"Moda: {mode}")
# Otra manera
most_common = np.bincount(scores_array).argmax()
print(f"Moda: {most_common }")
# 4. Rango
data_range = np.ptp(scores_array) # Rango = máximo - mínimo
print(f"Rango: {data_range}")
# 5. Varianza
variance = np.var(scores_array, ddof=0) # ddof=0 para población
print(f"Varianza: {variance}")
# 6. Desviación Estándar
std_deviation = np.std(scores_array, ddof=0)
print(f"Desviación Estándar: {std_deviation}")
# 7. Tabla de Frecuencia
frequency_table = pd.Series(scores).value_counts().sort_index()
print("\nTabla de Frecuencia:")
print(frequency_table)
# 8. Gráfico de Histograma
import matplotlib.pyplot as plt
plt.hist(scores_array, bins=5, edgecolor='black')
plt.title('Histograma de Puntuaciones')
plt.xlabel('Puntuaciones')
plt.ylabel('Frecuencia')
plt.show()
Explicación del Código
- Importación de Bibliotecas:
numpy
para cálculos numéricos.pandas
para manipulación de datos y creación de tablas.scipy.stats
para calcular la moda.matplotlib.pyplot
para graficar.
- Datos: Se definen las puntuaciones en una lista.
- Cálculo de Medidas:
- Media: Se utiliza
np.mean()
para calcular la media. - Mediana: Se utiliza
np.median()
para calcular la mediana. - Moda: Se utiliza
stats.mode()
para encontrar la moda. - Rango:
np.ptp()
calcula el rango (valor máximo – valor mínimo). - Varianza y Desviación Estándar: Se utilizan
np.var()
ynp.std()
, respectivamente. Se especificaddof=0
para indicar que se está calculando para la población.
- Media: Se utiliza
- Tabla de Frecuencia: Se utiliza
pd.Series()
junto convalue_counts()
para contar las frecuencias ysort_index()
para ordenar la tabla. - Gráfico de Histograma: Se utiliza
plt.hist()
para visualizar la distribución de las puntuaciones.
Salida Esperada
Al ejecutar el código, deberías obtener resultados similares a los siguientes:
Media: 7.9
Mediana: 8.0
Moda: 8
Moda: 8
Rango: 2
Varianza: 0.49000000000000005
Desviación Estándar: 0.7000000000000001
Tabla de Frecuencia:
7 3
8 5
9 2
Name: count, dtype: int64
Y también se mostrará un gráfico de histograma que representa las puntuaciones de los estudiantes.
Conclusión
Este código proporciona una forma práctica de calcular y visualizar medidas descriptivas usando Python, lo cual es muy útil en el análisis exploratorio de datos. Puedes modificar los datos o agregar más análisis según lo necesites.