VICTOR-ELECTRONET

Victor Vadillo Vega, DNI_________ , Calle Campomayor num 9. Alburquerque. Badajoz. Telefono: 603021107. victorelectronet@gmail.com

Archives

Ejercicios de Analisis de Datos con Python

Infografía: Análisis de Datos con Python en Colab

🚀 Dominando el Análisis de Datos con Python en Colab 🐍

Una infografía interactiva para potenciar tus habilidades en ciencia de datos.

Cálculos con Arrays: Funciones Universales (ufuncs)

Descripción: Este módulo explora las ufuncs de NumPy, que son la clave para realizar operaciones vectorizadas rápidas en arrays. Se detalla la lentitud de los bucles nativos de Python y cómo las ufuncs ofrecen una alternativa compilada y eficiente.

Utilidad:

  • Optimización de operaciones matemáticas en grandes volúmenes de datos.
  • Reducción significativa del tiempo de ejecución en comparación con los bucles tradicionales de Python.

Ejemplos de Uso:

  • Cálculo de recíprocos de arrays numéricos.
  • Operaciones aritméticas básicas (suma, resta, multiplicación, división) directamente sobre arrays.
  • Aplicación de funciones trigonométricas, exponenciales y logarítmicas a todos los elementos de un array simultáneamente.

Operaciones en Arrays: Agregación de Datos

Descripción: Se enfoca en las funciones de agregación de NumPy para resumir grandes conjuntos de datos. Cubre desde sumas y promedios hasta cálculos de desviación estándar y percentiles, tanto para arrays unidimensionales como multidimensionales.

Utilidad:

  • Obtención rápida de estadísticas descriptivas de conjuntos de datos.
  • Análisis de tendencias y variabilidad en datos numéricos.

Ejemplos de Uso:

  • Calcular la suma total, el mínimo, el máximo, la media y la desviación estándar de un array de temperaturas anuales.
  • Determinar el mes más caluroso y el más frío basándose en datos de temperatura mensuales.
  • Contar el número de días con temperaturas extremas.

Ordenamiento de Arrays en NumPy

Descripción: Este apartado enseña las diferentes formas de ordenar arrays en NumPy utilizando np.sort(), .sort() (in-place), np.argsort() para obtener índices ordenados, y np.partition() para ordenamientos parciales.

Utilidad:

  • Organización eficiente de datos para análisis posteriores.
  • Identificación rápida de elementos extremos (los N más grandes/pequeños).
  • Implementación de algoritmos como k-Nearest Neighbors.

Ejemplos de Uso:

  • Ordenar una lista de puntuaciones de exámenes de forma ascendente y descendente.
  • Encontrar los k-vecinos más cercanos en un conjunto de datos multidimensional utilizando distancias y partición eficiente.
  • Ordenar filas o columnas específicas de una matriz.

Operaciones en Pandas: Preservación y Alineación de Índices

Descripción: Extiende el concepto de ufuncs de NumPy a Pandas, destacando cómo Pandas preserva las etiquetas de índice y columna automáticamente. Se profundiza en la alineación automática de índices en operaciones binarias, facilitando la combinación de datos de diversas fuentes.

Utilidad:

  • Mantener la integridad y el contexto de los datos durante operaciones.
  • Realizar cálculos entre Series y DataFrames con diferentes índices sin errores.

Ejemplos de Uso:

  • Sumar Series con índices no coincidentes y observar la generación de NaN donde no hay alineación.
  • Usar el parámetro fill_value en métodos como .add() o .sub() para manejar valores faltantes durante la alineación.
  • Restar una Serie (e.g., una fila o columna) de un DataFrame completo.

Indexación y Selección de Datos en Pandas

Descripción: Este módulo es crucial para manipular DataFrames y Series, explicando las diversas formas de seleccionar y filtrar datos: notación de diccionario, atributos, slicing, máscaras booleanas, e indexadores explícitos (.loc) e implícitos (.iloc).

Utilidad:

  • Acceso preciso y flexible a subconjuntos de datos.
  • Preparación de datos para análisis específicos o visualizaciones.

Ejemplos de Uso:

  • Seleccionar columnas específicas o rangos de filas.
  • Filtrar datos basándose en condiciones complejas (e.g., salario > X y ciudad = Y).
  • Modificar valores en ubicaciones específicas del DataFrame.
  • Ordenar el DataFrame por una columna y seleccionar los N primeros elementos.

Combinando Datasets: Concatenación

Descripción: Se aborda la combinación de Series y DataFrames mediante pd.concat(). Explora cómo manejar índices duplicados, añadir MultiIndex para identificar el origen de los datos, y diferentes tipos de joins (inner, outer) para controlar las columnas resultantes.

Utilidad:

  • Unir datos de diferentes fuentes o periodos.
  • Preparar un conjunto de datos unificado para análisis a gran escala.

Ejemplos de Uso:

  • Combinar datos de ventas de diferentes trimestres.
  • Unir DataFrames con columnas parcialmente superpuestas.
  • Concatenar con el parámetro keys para mantener un seguimiento del origen de las filas.

Agregación y Agrupación (Groupby: Split, Apply, Combine)

Descripción: Introduce el poderoso concepto de «groupby» en Pandas, desglosado en los pasos de «dividir, aplicar, combinar». Permite realizar agregaciones condicionales y transformaciones complejas sobre subconjuntos de datos, como los métodos de detección de exoplanetas del dataset ‘planets’.

Utilidad:

  • Análisis segmentado de datos.
  • Cálculo de métricas por categoría o grupo.
  • Generación de informes resumidos por diferentes dimensiones.

Ejemplos de Uso:

  • Calcular la media de una columna para cada categoría única en otra columna.
  • Agrupar datos de planetas por método de detección y calcular la mediana del período orbital.
  • Filtrar grupos que cumplan ciertas condiciones estadísticas.

Tablas Dinámicas (Pivot Tables)

Descripción: Demuestra el uso de .pivot_table() de Pandas, una herramienta flexible para resumir y reorganizar datos de un DataFrame. Permite crear vistas tabulares agregadas, con filas, columnas y valores definidos por el usuario, ideal para explorar relaciones complejas en los datos.

Utilidad:

  • Creación de resúmenes de datos interactivos.
  • Análisis multidimensional de métricas.
  • Exploración rápida de patrones y relaciones en grandes conjuntos de datos.

Ejemplos de Uso:

  • Analizar la tasa de supervivencia del Titanic por sexo y clase.
  • Explorar datos de nacimientos por década y género.
  • Calcular medias o sumas de varias métricas simultáneamente.

Ejercicios de Práctica y Datos Reales

Descripción: Este bloque consolida todo lo aprendido aplicando las técnicas a diversos problemas y conjuntos de datos reales. Incluye ejercicios sobre:
1. Países Grandes: Filtrar países por área o población.
2. Tweets Inválidos: Identificar tweets por longitud de contenido.
3. Salario N-ésimo más Alto: Encontrar el N-ésimo salario más alto de una tabla.
4. Gerentes con Subordinados: Identificar gerentes con al menos cinco subordinados directos.
5. Productos Vendidos por Fecha: Agrupar productos vendidos por fecha y listar productos únicos.
Además, se exploran conjuntos de datos como Bitly (zonas horarias) y MovieLens (calificaciones de películas) para un análisis más profundo.

Utilidad:

  • Aplicación práctica de habilidades de Pandas y NumPy.
  • Manejo de datos desestructurados y complejos (ej., datos Bitly, nombres de bebés).
  • Resolución de problemas comunes en análisis de datos.

Ejemplos de Uso:

  • Creación de un DataFrame a partir de datos JSON.
  • Limpieza y conteo de datos categóricos (zonas horarias).
  • Fusión de múltiples DataFrames para un análisis integrado.
  • Cálculo de medias de calificaciones de películas por género y edad.