2. Preparación del entorno en Python

2.1 Instalación de librerías

Para trabajar con estadística descriptiva usaremos las librerías más comunes en ciencia de datos:

  • NumPy → cálculo numérico eficiente.
  • Pandas → manejo de tablas (DataFrames).
  • Matplotlib y Seaborn → visualización de datos.
  • SciPy → funciones estadísticas adicionales.

En la terminal/prompt de comandos se instalan con:

pip install numpy pandas matplotlib seaborn scipy

2.2 Importación de librerías en Python

El estándar es importarlas con alias cortos y fáciles de recordar:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats

2.3 Cargar datos en un DataFrame

Podemos trabajar con datasets integrados o con archivos propios (CSV, Excel, etc.).

Script 1 — Dataset de prueba generado con NumPy

# Script 1: generar un dataset sintético
import numpy as np
import pandas as pd

np.random.seed(0)

n = 100
df = pd.DataFrame({
    "edad": np.random.randint(18, 65, size=n),
    "ingreso_mensual": np.random.normal(8500, 2000, size=n).round(0),
    "puntaje_satisfaccion": np.random.randint(1, 11, size=n)  # escala 1 a 10
})

print("Primeras filas:")
print(df.head())

Script 2 — Cargar datos desde un CSV

Si tenemos un archivo empleados.csv:

# Script 2: cargar un archivo CSV
import pandas as pd

# Para que este script funcione, necesitas crear un archivo llamado empleados.csv
# con contenido como:
# Nombre,Edad,Salario
# Ana,23,55000
# Luis,35,72000

try:
    df = pd.read_csv("empleados.csv")
    print("Dimensiones:", df.shape)
    print("Primeras filas:")
    print(df.head())
except FileNotFoundError:
    print("Error: El archivo 'empleados.csv' no fue encontrado.")
    print("Por favor, crea el archivo con datos para que este script funcione.")

👉 Recomendación: siempre verificar df.shape para saber cuántas filas y columnas hay.

2.4 Exploración inicial de los datos

Al cargar un dataset, lo primero es inspeccionarlo.

Script 3 — Exploración básica

# Script 3: exploración básica de un DataFrame
import pandas as pd
import numpy as np

# Dataset pequeño de ejemplo
datos = {
    "Nombre": ["Ana", "Luis", "Carla", "Pedro", "María"],
    "Edad": [23, 35, 29, 42, 31],
    "Salario": [55000, 72000, 61000, 83000, 59000]
}
df = pd.DataFrame(datos)

print("Vista rápida:")
print(df.head())
print()

print("Info de columnas y tipos de datos:")
df.info()
print()

print("Resumen estadístico:")
print(df.describe())
print()

print("Valores faltantes por columna:")
print(df.isnull().sum())

2.5 Visualización rápida para explorar

Podemos dar un primer vistazo con histogramas y boxplots.

Histogramas y boxplots iniciales

# Script 4: gráficos iniciales
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

np.random.seed(1)
df = pd.DataFrame({
    "edad": np.random.randint(18, 70, size=200),
    "ingreso": np.random.normal(9000, 2500, size=200).round(0)
})

# Histograma
sns.histplot(df["ingreso"], bins=20, kde=True)
plt.title("Distribución de ingresos")
plt.show()

# Boxplot
sns.boxplot(x=df["ingreso"])
plt.title("Boxplot de ingresos")
plt.show()

👉 Esto nos permite detectar valores atípicos y la forma de la distribución.