Certificado de Ciencia de datos con Pandas y Python
7h 0m
Domina Pandas en Python para manipular y analizar datos. Curso avanzado con certificado y técnicas para manejar estructuras de datos y optimizar tus proyectos.
Accede GRATIS y certifícate1. Introducción y entorno
Introducción e instalación de pandas
¿Qué es Pandas?
Pandas es una biblioteca de Python especializada en la manipulación y análisis de datos. Facilita el trabajo con estructuras de datos complejas y proporciona herramientas eficientes para manejar grandes volúmenes de información.
¿Cómo se instala Pandas? Diferentes métodos de instalación y comprobar la versión de Pandas
Para instalar Pandas, se puede utilizar pip
:
pip install pandas
O, si se prefiere Anaconda:
conda install pandas
Para verificar la versión instalada:
import pandas as pd
print(pd.__version__)
Para qué sirve Pandas
Pandas es útil para realizar operaciones de limpieza, transformación y análisis de datos. Permite leer y escribir en múltiples formatos como CSV, Excel o bases de datos SQL, y ofrece estructuras de datos como Series y DataFrames para manipular información tabular.
¿Cuándo usar Numpy y cuándo usar Pandas?
NumPy es ideal para cálculos numéricos y operaciones con arrays multidimensionales. Pandas, por su parte, está diseñado para el manejo de datos estructurados y etiquetados, como tablas y series temporales. Si se requiere análisis de datos con etiquetas y estructuras más complejas, Pandas es la opción adecuada.
Resumen de los principales métodos de Pandas
Algunos métodos fundamentales incluyen:
read_csv()
: para leer archivos CSV.DataFrame()
: para crear un DataFrame.head()
: muestra las primeras filas.info()
: proporciona información sobre el DataFrame.describe()
: ofrece estadísticas descriptivas.
2. Estructuras de Datos en Pandas
Series
¿Qué son las Series en Pandas y cómo se crean?
Las Series son estructuras unidimensionales que pueden contener datos de cualquier tipo. Se crean a partir de listas, arrays o diccionarios:
import pandas as pd
serie = pd.Series([1, 2, 3, 4])
Atributos de las Series
serie.index
: devuelve el índice.serie.values
: devuelve los valores.serie.dtype
: muestra el tipo de datos.
Acceso a datos de Series con iloc y loc
iloc
: acceso por posición entera.
valor = serie.iloc[0]
loc
: acceso por etiqueta.
valor = serie.loc['etiqueta']
Operaciones y manipulación sobre Series
Se pueden realizar operaciones matemáticas, aplicar funciones con apply()
y filtrar datos según condiciones.
Optimización y rendimiento de Series
Para mejorar el rendimiento, es recomendable usar tipos de datos adecuados y aprovechar las operaciones vectorizadas que ofrece Pandas.
DataFrames
¿Qué son los DataFrames en Pandas y para qué sirven?
Los DataFrames son estructuras bidimensionales similares a tablas que permiten almacenar y manipular datos etiquetados en filas y columnas.
Formas de crear DataFrames
- A partir de diccionarios:
data = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data)
- Importando datos externos con
read_csv()
,read_excel()
, etc.
Entender el índice en DataFrames
El índice es una etiqueta para las filas que facilita el acceso y manipulación de los datos.
Tipos de índices
- Índice estándar (numérico).
- Índice temporal (fechas).
- Índice jerárquico (MultiIndex).
Manipulación del índice
Se puede establecer o restablecer con set_index()
y reset_index()
.
Índice temporal
Útil para series temporales y facilita operaciones como resampling.
Índice duplicado
Aunque no es común, Pandas permite índices duplicados.
Índice jerárquico (MultiIndex)
Permite trabajar con datos multidimensionales y organizar la información en múltiples niveles.
Atributos de DataFrames
df.columns
: nombres de las columnas.df.index
: índice del DataFrame.df.dtypes
: tipos de datos de cada columna.
Métodos básicos de DataFrames
head()
: muestra las primeras filas.tail()
: muestra las últimas filas.info()
: información general.describe()
: estadísticas descriptivas.
Acceso a datos de DataFrame con iloc y loc
iloc: acceso por posición
valor = df.iloc[0, 1]
loc: acceso por etiqueta
valor = df.loc[0, 'columna']
Diferencias clave entre iloc y loc
iloc
accede por posición numérica, mientras que loc
utiliza etiquetas del índice.
Ejemplos adicionales
Seleccionar múltiples filas y columnas:
subset = df.loc[0:2, ['columna1', 'columna2']]
Tipos de datos en DataFrames
¿Qué son los tipos de datos en Pandas y por qué son importantes?
Los tipos de datos determinan cómo se almacenan y manipulan los valores en un DataFrame. Son cruciales para optimizar el rendimiento y garantizar operaciones correctas.
¿Qué tipos de datos existen en Pandas?
- Numéricos (
int
,float
). - Objetos (
object
): suelen ser cadenas de texto. - Fechas (
datetime64
). - Categóricos (
category
).
Cambiar el tipo de dato
Se puede usar astype()
para convertir tipos:
df['columna'] = df['columna'].astype('float')
Optimización y rendimiento
Elegir tipos de datos adecuados reduce el uso de memoria y mejora la eficiencia de las operaciones.
Consideraciones con grandes cantidades de datos
Es recomendable cargar solo las columnas necesarias y utilizar tipos de datos más ligeros para optimizar recursos.
3. Manipulación de datos y operaciones
Manipulación de DataFrames
Cambiar el nombre de columnas y filas
Utilizar el método rename()
:
df = df.rename(columns={'antiguo_nombre': 'nuevo_nombre'})
Agregar columnas y eliminar columnas
- Agregar:
df['nueva_columna'] = valores
- Eliminar:
df = df.drop('columna', axis=1)
Aplicar funciones a columnas
Aplicar una función con apply()
:
df['columna'] = df['columna'].apply(funcion)
Agregar y eliminar filas
- Agregar:
nueva_fila = {'columna1': valor1, 'columna2': valor2}
df = df.append(nueva_fila, ignore_index=True)
- Eliminar:
df = df.drop(etiqueta_fila)
Índice y manipulación de índice
Modificar el índice puede facilitar ciertas operaciones y mejorar la organización de los datos.
Operaciones de filtrado, búsqueda y ordenación
Operaciones de búsqueda y filtrado
Filtrar datos según una condición:
df_filtrado = df[df['columna'] > valor]
Operaciones lógicas
Combinar condiciones con operadores lógicos:
df[(df['columna1'] > valor1) & (df['columna2'] < valor2)]
Operaciones de comparación
Comparar valores entre columnas:
df['columna1'] == df['columna2']
Operaciones de ordenación
Ordenar datos con sort_values()
:
df_ordenado = df.sort_values(by='columna', ascending=False)
Operaciones de cadena de texto y categóricas
Tipos de dato texto y categóricos
Las columnas de tipo object
suelen contener texto, mientras que las categóricas optimizan el almacenamiento y procesamiento de variables con categorías definidas.
Operaciones de texto
Aplicar métodos de cadena:
df['columna'].str.upper()
Operaciones sobre datos categóricos
Convertir a tipo categórico:
df['columna'] = df['columna'].astype('category')
Operaciones matemáticas y estadísticas
Métodos de agregación y resumen
Calcular estadísticas como la media, suma o desviación estándar:
df['columna'].mean()
Agrupación de datos para agregaciones complejas
Utilizar groupby()
para agrupar y luego aplicar una función:
df.groupby('columna')['otra_columna'].sum()
Tablas pivotantes
Crear tablas pivotantes con pivot_table()
para resumir y analizar datos.
Operaciones con fechas
Tipos de datos de fecha
Trabajar con fechas en formato datetime64
facilita el manejo de series temporales.
Operaciones con fechas
Extraer componentes como año, mes o día:
df['columna_fecha'].dt.year
Series temporales en Pandas
Permiten analizar datos a lo largo del tiempo y realizar operaciones específicas como resampling.
Resampling
Cambiar la frecuencia temporal de los datos:
df_resample = df.resample('M').sum()
Operaciones de conjuntos
Fusionar DataFrames
Sintaxis básica de merge()
df_fusionado = pd.merge(df1, df2, on='columna_comun')
Ejemplos de uso
Fusionar datos de diferentes fuentes basándose en una clave común.
Concatenar DataFrames
Sintaxis básica de concat()
df_concatenado = pd.concat([df1, df2], axis=0)
Ejemplos de uso
Unir datos vertical u horizontalmente para ampliar el DataFrame.
Reindexado
Sintaxis básica de reindex()
df_reindexado = df.reindex(nuevo_indice)
Ejemplos de uso
Alinear datos según un nuevo índice o rellenar valores faltantes.
Cambiar la forma de DataFrames y Series
Utilizar métodos como melt()
, pivot()
, stack()
y unstack()
para transformar la estructura de los datos.
4. Limpieza y preparación de datos
Identificación de valores faltantes
¿Qué son los valores faltantes o missing values?
Son datos ausentes o nulos que pueden afectar el análisis y resultados.
¿Cómo identificar valores faltantes en Pandas?
Usar isnull()
o isna()
para detectar valores nulos:
df.isnull().sum()
Interpretar la cantidad de valores faltantes
Evaluar el impacto en el conjunto de datos y decidir cómo tratarlos.
Tratamiento de valores faltantes
¿Por qué se deben tratar los valores faltantes?
Para mejorar la calidad del análisis y evitar sesgos en los resultados.
Tratamiento en columnas numéricas
- Imputar con la media o mediana.
- Eliminar filas o columnas afectadas.
Tratamiento en columnas categóricas o texto
- Imputar con el valor más frecuente.
- Asignar una categoría como 'Desconocido'.
Tratamiento en columnas fecha
- Imputar con una fecha específica.
- Utilizar métodos de interpolación.
Identificar y corregir errores y duplicados
¿Qué son los valores erróneos en un DataFrame?
Datos que no cumplen con el formato esperado o están fuera de rango.
Formas de corregir valores erróneos
- Reemplazar valores incorrectos.
- Aplicar funciones de validación y limpieza.
¿Qué son y cómo corregir valores duplicados?
Filas que se repiten en el DataFrame. Se eliminan con drop_duplicates()
.
Identificar y corregir outliers
¿Qué son los outliers en DataFrames?
Valores atípicos que se alejan significativamente del resto de datos.
¿Cómo se detectan los outliers?
Mediante técnicas estadísticas como el rango intercuartílico o visualizaciones.
Técnica del rango intercuartílico
Identifica outliers basándose en los cuartiles y los límites inferior y superior.
Codificación de variables categóricas a numéricas
¿Qué son las variables categóricas o de texto en Pandas?
Columnas que contienen datos categóricos o textuales.
¿Cómo se identifican las columnas categóricas?
Usando df.select_dtypes(include=['object', 'category'])
.
¿Por qué es importante el encoding a numéricas?
Muchos algoritmos requieren datos numéricos para funcionar correctamente.
Formas de codificar variables categóricas
- One-Hot Encoding con
get_dummies()
:
df_codificado = pd.get_dummies(df, columns=['columna_categorica'])
- Label Encoding con
astype('category').cat.codes
:
df['columna'] = df['columna'].astype('category').cat.codes
5. Integraciones
Entrada de datos externos y salida de datos con Pandas
Formas de cargar datos externos en Pandas
- Leer un CSV:
df = pd.read_csv('archivo.csv')
- Leer un Excel:
df = pd.read_excel('archivo.xlsx')
- Leer desde una base de datos SQL.
Formas de exportar un DataFrame
- Exportar a CSV:
df.to_csv('salida.csv', index=False)
- Exportar a Excel:
df.to_excel('salida.xlsx', index=False)
Integración de Pandas con Matplotlib
¿Qué es Matplotlib en Python?
Es una biblioteca para crear gráficos y visualizaciones en Python.
¿Qué relación existe entre Pandas y Matplotlib?
Pandas incorpora métodos que facilitan la generación de gráficos utilizando Matplotlib.
Principales gráficas de Matplotlib usando Pandas
- Gráficos de línea:
df.plot()
- Histogramas:
df['columna'].hist()
Integración de Pandas con Seaborn
¿Qué es Seaborn en Python?
Es una biblioteca de visualización basada en Matplotlib que ofrece gráficos estadísticos más atractivos.
¿Qué relación existe entre Pandas y Seaborn?
Seaborn trabaja directamente con DataFrames de Pandas, facilitando la visualización de datos.
Principales gráficas de Seaborn usando Pandas
- Gráficos de dispersión:
import seaborn as sns
sns.scatterplot(data=df, x='columna_x', y='columna_y')
- Mapas de calor:
sns.heatmap(df.corr())
6. Evaluación
Evaluación multirespuesta Conocimiento general de Pandas
Se plantea un cuestionario de 30 preguntas para evaluar el dominio de los conceptos clave de Pandas, con un tiempo límite de 40 minutos.
Evaluación código Conocimiento general de Pandas
Se propone una prueba práctica para aplicar las habilidades adquiridas, con ejercicios de código y un tiempo límite de 20 minutos.
Tutoriales de programación en este certificado
Completa estas lecciones de programación para obtener tu certificado de superación
Introducción E Instalación De Pandas
Introducción Y Entorno
Series
Estructuras De Datos
Dataframes
Estructuras De Datos
Tipos De Datos En Dataframes
Estructuras De Datos
Manipulación De Dataframes
Manipulación De Datos
Operaciones De Filtrado, Búsqueda Y Ordenación
Manipulación De Datos
Operaciones De Cadena De Texto Y Categóricas
Manipulación De Datos
Operaciones Matemáticas Y Estadísticas
Manipulación De Datos
Operaciones Con Fechas
Manipulación De Datos
Operaciones De Conjuntos
Manipulación De Datos
Identificación De Valores Faltantes
Limpieza Y Preparación De Datos
Tratamiento De Valores Faltantes
Limpieza Y Preparación De Datos
Identificar Y Corregir Errores Y Duplicados
Limpieza Y Preparación De Datos
Identificar Y Corregir Outliers
Limpieza Y Preparación De Datos
Codificación De Variables Categóricas A Numéricas
Limpieza Y Preparación De Datos
Entrada De Datos Externos Y Salida De Datos Con Pandas
Integraciones
Integración De Pandas Con Matplotlib
Integraciones
Integración De Pandas Con Seaborn
Integraciones
Evaluación Multirespuesta Conocimiento General De Pandas
Evaluación Pandas
Evaluación Código Conocimiento General De Pandas
Evaluación Pandas
Ejercicios de programación de Ciencia de datos con Pandas y Python
Completa estos ejercicios de programación para obtener tu certificado de superación
Introducción e instalación de pandas
Operaciones de filtrado, búsqueda y ordenación
Operaciones de cadena de texto y categóricas
Tratamiento de valores faltantes
Manipulación de DataFrames
Codificación de variables categóricas a numéricas
Tipos de datos en DataFrames
Identificar y corregir errores y duplicados
Operaciones matemáticas y estadísticas
Evaluación código conocimiento general de Pandas
Evaluación multirespuesta Conocimiento general de Pandas
Integración de Pandas con Matplotlib
Operaciones con fechas
Entrada de datos externos y salida de datos con Pandas
Análisis de datos de eventos deportivos con Pandas en Python
Identificar y corregir outliers
Series
Integración de Pandas con Seaborn
Operaciones de conjuntos
Identificación de valores faltantes
Otros cursos de programación con certificado
Supera todos los retos de Ciencia de datos con Pandas y Python y obtén estos certificados de superación para mejorar tu currículum y tu empleabilidad.
Control de versiones con Git
1h 40m
Programación con HTML
2h 30m
Programación con CSS
2h 30m
Programación con JavaScript
2h 30m
Programación con TypeScript
2h 30m
Programación con Java
5h 0m
Programación con Python
5h 0m
Programación con C Sharp
2h 30m
Bases de datos relacionales con SQL
2h 30m
Programación con NestJS en TypeScript
10h 0m
Programación con Angular en TypeScript
10h 0m
Programación con Spring Boot
10h 0m
Programación con Hibernate ORM en Java
10h 0m
Docker y Docker Compose
6h 0m
Frontend básico con HTML, CSS y JavaScript
5h 0m
Frontend avanzado: HTML, CSS, JS, TS, Angular
10h 0m
Backend con Java, Spring Boot, Hibernate
13h 20m
Backend con TypeScript y NestJS
13h 20m
Full Stack con Spring Boot y Angular
30h 0m
Full Stack con NestJS y Angular
20h 0m
Tecnologías que aprenderás
Al finalizar este curso obtendrás
Certificado de superación en Ciencia de datos con Pandas y Python
Tras completar todas las lecciones y ejercicios del curso Ciencia de datos con Pandas y Python se te genera un enlace con tu certificado para que lo puedas descargar o compartir directamente en cualquier plataforma, siempre accesible.