Saltar al contenido
Manejo de datos con Pandas

Análisis exploratorio de datos con Pandas

Introducción

El Análisis Exploratorio de Datos con Pandas

El análisis exploratorio de datos es el proceso de explorar y describir conjuntos de datos para comprender sus características y detectar patrones importantes.

Pandas es una biblioteca de Python que se utiliza comúnmente para el análisis de datos debido a su capacidad para manipular y analizar grandes conjuntos de datos de manera eficiente.

En este curso, aprenderás a:

  • Importar y exportar datos en diferentes formatos.
  • Manipular y limpiar conjuntos de datos.
  • Realizar cálculos estadísticos.
  • Explorar relaciones y patrones en los datos utilizando visualizaciones.
  • Transformar y combinar conjuntos de datos utilizando la biblioteca Pandas.

Este curso también te enseñará cómo aplicar técnicas de análisis de datos básicas utilizando Pandas para resolver problemas del mundo real, como filtrar y agrupar datos para obtener información más específica sobre un conjunto de datos.

En resumen, al completar este curso, estarás equipado con habilidades para el análisis de datos aplicadas y exploración a través de la potente biblioteca de Python Pandas en el mínimo tiempo requerido.

Resumen

Análisis Exploratorio de Datos con Pandas

El análisis exploratorio de datos con Pandas es una tarea fundamental para comprender y explorar conjuntos de datos de manera efectiva. Aquí te presento algunos pasos clave para realizar un análisis exploratorio de datos con Pandas:

  1. Carga de datos: Para empezar, necesitas cargar los datos en Python utilizando Pandas. Puedes hacerlo con funciones como read_csv, read_excel o read_sql, dependiendo del tipo de archivo o fuente de datos.

  2. Visualización de datos: Antes de realizar análisis cuantitativos, es esencial visualizar los datos para comprender su estructura y posibles patrones. Pandas ofrece métodos para crear gráficos utilizando la biblioteca Matplotlib.

  3. Análisis de distribución: Es importante comprender cómo están distribuidos los datos. Pandas proporciona funciones estadísticas como describe, hist y boxplot para entender la distribución de las variables y detectar outliers.

  4. Análisis de correlación: Comprender la relación entre variables es crucial. Pandas ofrece funciones como corr, scatter_matrix y heatmap para visualizar y calcular la correlación entre variables.

  5. Manejo de datos faltantes: En muchos casos, los datos pueden estar incompletos. Pandas ofrece funciones como fillna y dropna para manejar datos faltantes, permitiéndote imputar valores o eliminar filas/columnas con datos faltantes.

  6. Manipulación de datos: Una vez que hayas entendido la distribución y correlación de los datos, y hayas manejado los valores faltantes, puedes realizar otras manipulaciones en los datos, como cambiar el tipo de variables, filtrar filas/columnas, crear nuevas variables, etc.

Este es un resumen de los pasos que podrías seguir en un análisis exploratorio de datos con Pandas.

Aplicación teórica

Cálculo de Estadísticas Descriptivas

Las estadísticas descriptivas resumen y describen las características de un conjunto de datos. Se utilizan diversas medidas para obtener una visión general de los datos:

1. Medidas de Tendencia Central
   - Media (Promedio): Se calcula sumando todos los valores y dividiendo entre el número total de observaciones. La fórmula es:
     \[
     \bar{x} = \frac{1}{n} \sum_{i=1}^{n} x_i
     \]
     Aquí, \(\bar{x}\) es la media, \(x_i\) son los valores individuales y \(n\) es el número total de observaciones.

   - Mediana: Es el valor que divide el conjunto de datos ordenado en dos partes iguales. Si el número de observaciones es impar, la mediana es el valor central. Si es par, se toma el promedio de los dos valores centrales.

   - Moda: Es el valor que aparece con mayor frecuencia en el conjunto de datos.

2. Medidas de Dispersión
   - Varianza: Mide la variabilidad de los datos con respecto a la media. Se calcula como:
     \[
     \sigma^2 = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})^2
     \]
     Donde \(\sigma^2\) es la varianza, \(x_i\) son los valores individuales, \(\bar{x}\) es la media y \(n\) es el número total de observaciones.

   - Desviación Estándar: Es la raíz cuadrada de la varianza y proporciona una medida de dispersión en las mismas unidades que los datos:
     \[
     \sigma = \sqrt{\sigma^2}
     \]

   - Rango: Es la diferencia entre el valor máximo y el valor mínimo del conjunto de datos:
     \[
     \text{Rango} = x_{\text{max}} - x_{\text{min}}
     \]

   - Rango Intercuartílico (IQR): Es la diferencia entre el tercer cuartil (Q3) y el primer cuartil (Q1):
     \[
     \text{IQR} = Q3 - Q1
     \]

3. Medidas de Forma
   - Asimetría (Skewness): Mide la falta de simetría en la distribución de los datos. Se calcula como:
     \[
     \text{Skewness} = \frac{n}{(n-1)(n-2)} \sum_{i=1}^{n} \left(\frac{x_i - \bar{x}}{\sigma}\right)^3
     \]

   - Curtosis: Mide la "altitud" y "ancho" de la distribución en comparación con una distribución normal. Se calcula como:
     \[
     \text{Curtosis} = \frac{n(n+1)}{(n-1)(n-2)(n-3)} \sum_{i=1}^{n} \left(\frac{x_i - \bar{x}}{\sigma}\right)^4 - \frac{3(n-1)^2}{(n-2)(n-3)}
     \]

Visualización de Estadísticas Descriptivas

1. Histograma: Muestra la distribución de los datos dividiendo el rango de valores en intervalos y contando el número de observaciones en cada intervalo. Cada barra representa un intervalo y su altura indica la frecuencia.

2. Diagrama de Caja (Boxplot): Muestra la mediana, los cuartiles y los posibles valores atípicos. La caja abarca el rango entre el primer cuartil (Q1) y el tercer cuartil (Q3), con una línea dentro que representa la mediana. Los "bigotes" se extienden hasta los valores mínimos y máximos dentro de 1.5 veces el IQR, y los valores fuera de este rango se consideran outliers.

3. Gráfico de Barras: Muestra la frecuencia de categorías en datos categóricos. Cada barra representa una categoría y su altura indica la frecuencia o cantidad de datos en esa categoría.

4. Gráfico de Dispersión: Muestra la relación entre dos variables continuas. Cada punto en el gráfico representa un par de valores para las dos variables, ayudando a visualizar la relación entre ellas.

Detección de Outliers y Valores Atípicos

Detección de Outliers

Los outliers son valores que se desvían significativamente del resto del conjunto de datos. La detección de outliers puede hacerse mediante varios métodos:

1. Método de la Desviación Estándar
   Los outliers se identifican si se encuentran a más de 2 o 3 desviaciones estándar de la media. Se utiliza la fórmula:
   \[
   \text{Outlier} = x_i \text{ si } |x_i - \bar{x}| > k \sigma
   \]
   Donde \(k\) suele ser 2 o 3.

2. Método del Rango Intercuartílico (IQR)
   Los valores se consideran outliers si están por debajo de \( Q1 - 1.5 \times \text{IQR} \) o por encima de \( Q3 + 1.5 \times \text{IQR} \):
   \[
   \text{Outlier} = x_i \text{ si } x_i < Q1 - 1.5 \times \text{IQR} \text{ o } x_i > Q3 + 1.5 \times \text{IQR}
   \]

3. Método de los Percentiles
   Los valores situados en los percentiles extremos (por ejemplo, percentiles 1% y 99%) pueden ser considerados outliers.

   \[
   \text{Outlier} = x_i \text{ si } x_i < P_{1\%} \text{ o } x_i > P_{99\%}
   \]

4. Visualización de Outliers
   - Diagrama de Caja (Boxplot): Muestra los outliers como puntos individuales fuera de los "bigotes" del diagrama.
   - Gráfico de Dispersión: Permite visualizar los outliers en relación con otras variables.

Análisis de Correlaciones y Relaciones Entre Variables

Correlación

La correlación mide la fuerza y la dirección de la relación lineal entre dos variables. Se utilizan diferentes coeficientes para medir esta relación:

1. Coeficiente de Correlación de Pearson
   Mide la relación lineal entre dos variables continuas y su valor varía entre -1 y 1. Se calcula como:
   \[
   \rho_{XY} = \frac{\text{Cov}(X, Y)}{\sigma_X \sigma_Y}
   \]
   Donde \(\text{Cov}(X, Y)\) es la covarianza entre \(X\) y \(Y\), y \(\sigma_X\) y \(\sigma_Y\) son las desviaciones estándar de \(X\) y \(Y\), respectivamente.

2. Coeficiente de Correlación de Spearman
   Mide la relación monótona entre dos variables y se usa para datos ordinales o relaciones no lineales. Se calcula como:
   \[
   \rho_s = 1 - \frac{6 \sum d_i^2}{n(n^2 - 1)}
   \]
   Donde \(d_i\) es la diferencia entre los rangos de cada par de observaciones y \(n\) es el número de pares de datos.

**Análisis de Relaciones Entre Variables**

1. Regresión Lineal Simple
   Modela la relación entre una variable dependiente \(Y\) y una variable independiente \(X\) mediante una ecuación lineal:
   \[
   Y = \beta_0 + \beta_1 X + \epsilon
   \]
   Donde \(\beta_0\) es el intercepto, \(\beta_1\) es la pendiente de la línea de regresión y \(\epsilon\) es el término de error.

2. Regresión Múltiple
   Extiende el modelo lineal simple para incluir múltiples variables independientes:
   \[
   Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_p X_p + \epsilon
   \]

3. Análisis de Covarianza (ANCOVA)
   Combina la ANOVA con la regresión, ajustando las medias de los grupos por una o más covariables:
   \[
   Y_{ij} = \mu + \alpha_i + \beta X_j + \epsilon_{ij}
   \]
   Donde \(Y_{ij}\) es la variable dependiente, \(\mu\) es la media general, \(\alpha_i\) es el efecto del grupo \(i\), \(\beta\) es el efecto de la covariable \(X_j\), y \(\epsilon_{ij}\) es el término de error.

4. Visualización de Correlaciones y Relaciones
   - Gráfico de Dispersión: Muestra la relación entre dos variables continuas y ayuda a visualizar la dirección y fuerza de la correlación.
   - Matriz de Correlación: Muestra las correlaciones entre múltiples pares de variables en una tabla o gráfico de calor.

 

Aplicación práctica

     

Análisis Exploratorio de Datos (EDA) con Pandas: Ejemplo Práctico

Supongamos que hemos recopilado un conjunto de datos sobre las personas que han comprado un producto en nuestra tienda en línea. El conjunto de datos (en formato CSV) tiene las siguientes columnas:

  •  
  • ID de transacción: el ID único para cada transacción
  •  
  • Fecha de compra: fecha en que se realizó la compra
  •  
  • Producto: el nombre del producto que se compró
  •  
  • Precio: el precio del producto, en dólares
  •  
  • Categoría: la categoría a la que pertenece el producto (por ejemplo, electrónica, ropa, hogar, etc.)
  •  
  • Edad: la edad de la persona que realizó la compra
  •  
  • Género: el género de la persona que realizó la compra (M para masculino, F para femenino)
  •  
  • Ciudad: la ciudad donde se realizó la compra

Importación de datos:


import pandas as pd

# Cargar el archivo CSV
df = pd.read_csv('compras.csv')

2. Visualización de las primeras filas del conjunto de datos:


df.head()

3. Tamaño del conjunto de datos:


df.shape

4. Estadísticas básicas de variables numéricas:


df.describe()

5. Exploración de una variable categórica:


df['Categoría'].value_counts()

6. Visualización de datos:


df['Categoría'].value_counts().plot(kind='bar')

Estos son solo algunos ejemplos de cómo podemos hacer un análisis exploratorio de datos con Pandas en Python. Con esta biblioteca, podemos analizar nuestros datos de manera eficiente y obtener información valiosa de ellos.