Módulo 6: Manejo de datos y visualización
Tema 21: Introducción a pandas (DataFrames y Series)
Objetivo del tema
Aprender los fundamentos de la librería pandas, una de las herramientas más potentes de Python para la manipulación, limpieza y análisis de datos. Se estudiarán las estructuras principales: Series y DataFrames, junto con ejemplos prácticos de creación y acceso a los datos.
1. ¿Qué es pandas?
pandas es una biblioteca de Python diseñada para trabajar con datos tabulares (filas y columnas), similar a una hoja de cálculo o una tabla de base de datos.
Fue desarrollada para:
- Leer y escribir datos desde diferentes formatos (CSV, Excel, JSON, SQL…).
- Limpiar, filtrar, combinar y transformar datos fácilmente.
- Analizar y preparar datos para visualizaciones o modelos.
pandas se apoya en NumPy, lo que le permite operar de forma eficiente con grandes volúmenes de datos.
2. Instalación e importación
Para trabajar con pandas, primero debe instalarse (si no lo está):
pip install pandasY luego se importa en el script:
Por convención, se usa el alias pd para abreviar las llamadas.
3. Estructura básica de pandas
pandas tiene dos estructuras principales de datos:
| Estructura | Descripción | Similar a |
|---|---|---|
Series |
Columna de datos unidimensional | Lista o vector |
DataFrame |
Conjunto de Series organizadas en filas y columnas | Hoja de cálculo o tabla |
4. Serie (pd.Series)
Una Serie es una secuencia unidimensional de datos, con un índice asociado.
Acceso a los elementos
print(nombres[0]) # Accede por índice → "Ana"
También se puede asignar un índice personalizado:
5. DataFrame (pd.DataFrame)
Un DataFrame es una estructura de dos dimensiones con filas y columnas, donde cada columna es una Serie.
Crear un DataFrame desde un diccionario
import pandas as pd
6. Acceso a datos en un DataFrame
Acceder a una columna
Acceder a varias columnas
Acceder a una fila por índice
Acceso mixto
7. Operaciones básicas con pandas
Filtrado de filas
8. Añadir y eliminar datos
Añadir una nueva columna
Eliminar una columna
Añadir una nueva fila
9. Importar datos desde un archivo CSV
Y guardar los cambios:
10. Buenas prácticas al trabajar con pandas
- Asigna nombres claros a columnas y variables.
- Usa
inplace=Truesolo cuando estés seguro (modifica el DataFrame original). - Crea copias antes de manipular (
df.copy()). - Aprovecha los métodos como
.info(),.describe(),.isnull()para revisar los datos.
Actividades prácticas
Ejercicio 1
Crea una Serie con los nombres de tus 5 películas favoritas y sus años de estreno como índice. Muestra solo las películas posteriores a 2015.
Ejercicio 2
Crea un DataFrame con los siguientes datos:
| Nombre | Edad | Ciudad |
|---|---|---|
| Ana | 25 | Madrid |
| Luis | 30 | Barcelona |
| Marta | 28 | Valencia |
- Muestra solo la columna
Ciudad. - Agrega una nueva columna llamada
Puntuacióncon valores del 1 al 3. - Filtra solo las filas con
Edad > 27.
Ejercicio 3
Descarga un archivo CSV (por ejemplo, un listado de estudiantes o productos), cárgalo con pd.read_csv() y muestra:
- El número de filas y columnas.
- Las primeras 3 filas.
- Las edades mayores a 25 o precios mayores a 100 (según el dataset).
Evaluación del tema
Criterios de evaluación:
- Comprende y explica la diferencia entre
SeriesyDataFrames. - Realiza operaciones básicas (creación, filtrado, acceso a datos).
- Usa correctamente
locyiloc. - Importa y exporta datos con
read_csv()yto_csv(). - Realiza correctamente los ejercicios propuestos.
Tema 22: Limpieza y filtrado de datos
Objetivo del tema
Aprender a detectar, limpiar y filtrar datos utilizando las herramientas que ofrece pandas. Se abordarán las técnicas más comunes para tratar valores nulos, duplicados y errores de formato, además de filtrar información según condiciones específicas.
1. La importancia de la limpieza de datos
En el mundo real, los datos rara vez vienen limpios. Al trabajar con información de hojas de cálculo, CSV, APIs o bases de datos, es frecuente encontrar:
- Valores faltantes (
NaN,None, campos vacíos). - Duplicados.
- Errores tipográficos o de formato.
- Inconsistencias (por ejemplo, "Madrid" y "madrid").
La limpieza de datos es el primer paso antes de analizarlos o visualizarlos.
2. Detección de valores nulos
pandas representa los valores ausentes como NaN (Not a Number).
Crear un ejemplo con datos faltantes
Detectar valores nulos
3. Eliminación o sustitución de valores nulos
Eliminar filas con valores nulos
Eliminar columnas con valores nulos
Rellenar valores nulos
4. Detección y eliminación de duplicados
Los duplicados pueden distorsionar el análisis de datos.
Eliminar duplicados:
Mantener el último duplicado:
5. Corrección de errores de formato
Convertir texto a mayúsculas o minúsculas
Eliminar espacios en blanco
Conversión de tipos de datos
Si algún valor no se puede convertir:
6. Filtrado de datos
El filtrado permite seleccionar subconjuntos del DataFrame según condiciones.
Filtros simples
Filtros combinados
Filtro por texto
Filtro por valores específicos
7. Reindexar y ordenar datos
Ordenar por columna
Resetear índices tras limpieza
8. Revisión final del DataFrame limpio
Tras limpiar y filtrar, siempre es recomendable revisar:
Esto ayuda a verificar que los tipos de datos y los valores sean correctos antes de seguir analizando o visualizando.
Actividades prácticas
Ejercicio 1
Crea un DataFrame con datos de ejemplo que contenga valores nulos y duplicados. Aplica los siguientes pasos:
- Elimina las filas con valores nulos.
- Rellena los valores faltantes de una columna con un valor por defecto.
- Elimina los registros duplicados.
Ejercicio 2
Descarga un archivo CSV con datos de clientes o productos.
- Carga los datos en pandas.
- Muestra cuántos valores nulos tiene cada columna.
- Rellena o elimina los nulos según corresponda.
- Filtra los registros con precios o edades mayores a una cantidad determinada.
Ejercicio 3
Crea un DataFrame con los siguientes datos:
| Nombre | Edad | Ciudad |
|---|---|---|
| Ana | 25 | Madrid |
| Luis | None | Sevilla |
| Marta | 28 | Madrid |
| Ana | 25 | Madrid |
- Detecta y elimina duplicados.
- Rellena la edad de Luis con la media del resto.
- Muestra solo los registros de Madrid.
Evaluación del tema
Criterios de evaluación:
- Usa correctamente métodos como
isnull(),dropna(),fillna()ydrop_duplicates(). - Comprende y aplica filtros con condiciones y operadores lógicos.
- Identifica y corrige errores de formato o tipo de datos.
- Presenta el DataFrame limpio y bien estructurado.
- Realiza los ejercicios con código funcional y comentado.
Tema 23: Introducción a matplotlib y seaborn
Objetivo del tema
Aprender los fundamentos de la visualización de datos en Python utilizando las librerías matplotlib y seaborn. El alumnado comprenderá cómo representar información de forma clara y atractiva a través de gráficos básicos como líneas, barras, dispersión y diagramas de caja.
1. ¿Por qué visualizar los datos?
La visualización de datos es una parte fundamental del análisis, ya que permite:
- Detectar patrones o tendencias fácilmente.
- Identificar valores atípicos (outliers).
- Comunicar resultados de forma visual e intuitiva.
Un gráfico puede transmitir lo que una tabla de números no revela fácilmente.
2. Instalación e importación de librerías
Si aún no están instaladas:
pip install matplotlib seabornY luego se importan en el script:
Por convención, matplotlib.pyplot se importa como plt y seaborn como sns.
3. Introducción a Matplotlib
Crear un gráfico básico
Explicación:
plt.plot()crea una línea entre los puntos.plt.title(),plt.xlabel(),plt.ylabel()añaden etiquetas.plt.show()muestra la figura.
Personalizar estilo y color
Parámetros útiles:
color: color de la línea.linestyle: tipo de línea ('-','--',':').marker: forma del punto ('o','^','s', etc.).
Gráfico de barras
Gráfico circular (pie chart)
4. Introducción a Seaborn
Seaborn está construido sobre matplotlib y pandas, y permite crear gráficos más atractivos y con menos código.
Crear un DataFrame de ejemplo
Gráfico de dispersión (scatter plot)
Gráfico de barras (countplot y barplot)
O con valores numéricos:
Gráfico de caja (boxplot)
Permite visualizar la distribución y los valores atípicos:
Histograma con Seaborn
5. Personalización de estilo en Seaborn
Seaborn incluye temas visuales para mejorar el aspecto de los gráficos.
6. Combinación de Matplotlib y Seaborn
Ambas bibliotecas se pueden usar juntas. Por ejemplo, con Matplotlib puedes añadir títulos, etiquetas o líneas guía sobre un gráfico creado con Seaborn:
7. Guardar gráficos
Puedes guardar los gráficos generados con:
Acepta formatos como .png, .jpg, .pdf, .svg.
Actividades prácticas
Ejercicio 1
Crea un DataFrame con los nombres y edades de 5 personas.
- Realiza un gráfico de barras con matplotlib.
- Añade título, etiquetas de ejes y color personalizado.
- Guarda el gráfico como imagen.
Ejercicio 2
Con un DataFrame de estudiantes (nombre, nota y curso):
- Usa Seaborn para representar la nota media por curso (
barplot). - Crea un histograma con las notas.
- Añade una línea que marque la nota media del grupo.
Ejercicio 3
Descarga un CSV con datos reales (por ejemplo, precios de vivienda o población).
- Carga los datos en pandas.
- Crea un gráfico de dispersión entre dos variables numéricas (por ejemplo, precio y metros cuadrados).
- Representa la distribución de una columna numérica con
histplot()oboxplot().
Evaluación del tema
Criterios de evaluación:
- Comprende las diferencias entre matplotlib y seaborn.
- Crea gráficos básicos con ambos.
- Personaliza títulos, colores, etiquetas y estilos.
- Integra gráficos con datos provenientes de pandas.
- Presenta los gráficos de forma clara y correctamente guardados.
Conclusión
En este tema, los estudiantes aprenden las bases de la visualización de datos, un pilar fundamental del análisis de información moderna. A partir de aquí, podrán generar gráficos más complejos, explorar correlaciones y comunicar resultados visualmente en sus proyectos finales.