

Python se ha convertido en una herramienta esencial para el análisis de recursos hídricos debido a su versatilidad, potentes librerías y capacidad para manejar grandes conjuntos de datos de manera eficiente. En el campo de la hidrología y la gestión del agua, la necesidad de modelación, predicción y visualización precisas de los recursos hídricos ha crecido significativamente. Las librerías de Python, como Pandas para la manipulación de datos, NumPy para cálculos numéricos, y Matplotlib o Plotly para la visualización de datos, ofrecen entornos robustos para analizar datos hidrológicos complejos. Además, las librerías geoespaciales de Python, como GeoPandas y Rasterio, permiten la integración de sistemas de información geográfica (SIG) para el análisis espacial, lo cual es crucial para comprender la distribución del agua, los patrones de flujo y la gestión de cuencas hidrográficas.
Hatarilabs presenta su programa educativo diseñado para dominar Python en entornos profesionales y académicos reales. El programa incluye un extenso trabajo práctico que va desde los conceptos básicos de Python, Numpy y Pandas hasta aplicaciones específicas en recursos hídricos y geociencias, combinadas con análisis geoespacial y aprendizaje automático (machine learning).
Objetivos
Este diplomado está diseñado para proporcionarte las siguientes capacidades:
- Dominar los conceptos básicos de Python y el entorno Jupyter.
- Ser competente en las herramientas comunes de los paquetes de Python orientados a la ciencia, como Numpy, Pandas y Scipy.
- Crear visualizaciones de datos completas para datos tabulares, geoespaciales y en 3D.
- Aprender y aplicar las herramientas geoespaciales más comunes para el análisis de datos vectoriales y ráster en Python.
- Tener una perspectiva sobre la aplicación de herramientas de aprendizaje automático en Python para recursos hídricos y campos relacionados.
Contenido
El diplomado se divide en 5 módulos, y cada módulo se divide en 4 sesiones. El contenido de cada módulo y la descripción de cada sesión se detallan a continuación:
Módulo 1: Python para Hidrología - Parte 1
Este módulo desarrolla los conceptos básicos de la programación en Python bajo Jupyter. Los ejercicios cubrirán las estructuras de datos básicas de Python, declaraciones condicionales y bucles, junto con una introducción a la manipulación de arreglos en Numpy, la gestión de datos tabulares con Pandas y ejercicios aplicados con datos de precipitación.
Sesión 1: Tipos de datos en Python
Comprender la forma en que funciona Python y explorar los tipos numéricos junto con las operaciones matemáticas. También se revisan las cadenas de texto (strings) y las expresiones booleanas.
- Análisis léxico y sintáctico.
- Tipos y objetos (cadenas, listas, tuplas y diccionarios).
- Expresiones y operadores.
- Condiciones e iteraciones.
Sesión 2: Bucles y estructuras de datos en Python
Una revisión de las formas condicionales y funciones en Python con ejemplos prácticos de creación, indexación y gestión de listas, tuplas, diccionarios y conjuntos.- Listas.
- Funciones.
- Bucles con while y for.
- Diccionarios.
Sesión 3: Numpy y matplotlib para recursos hídricos
Esta sesión cubre los conceptos clave de la gestión de arreglos multidimensionales con Numpy junto con ejemplos aplicados de visualización de datos con Matplotlib.Creación
de arreglos en Numpy. - Operaciones con arreglos en Numpy.
- Indexación y redimensionamiento de arreglos en Numpy.
- Introducción a la visualización de datos con Matplotlib,
Sesión 4: Análisis de datos de precipitación con Pandas
Exploración de la librería Pandas para el análisis y gestión de datos en formato tabular, revisión de las operaciones disponibles entre columnas, creación de dataframes y opciones de exportación.
- Lectura de datos desde archivos de texto y Excel.
- Filtrado de series temporales.
- Manipulación de columnas y filas.
- Exportación de dataframes a otros formatos.
Módulo 2: Python para Hidrología - Parte 2
Una vez cubiertos los conceptos básicos de la programación en Python y los ejemplos introductorios con datos de recursos hídricos, pasaremos a estadísticas de precipitación más específicas con Scipy, análisis de datos de precipitación y caudal a largo plazo con consultas temporales, e interpolaciones espaciales para eventos de tormentas.
Sesión 1: Estadísticas de lluvia con Scipy I
Esta sesión desarrollará análisis de regresión sobre datos de lluvia, desarrollará distribuciones estadísticas para diferentes estaciones climáticas y calculará valores de lluvia para diferentes períodos de retorno.
- Análisis de regresión para la lluvia.
- Distribuciones estadísticas para la precipitación.
- Determinación de períodos de retorno para la lluvia.
Sesión 2: Estadísticas de lluvia con Scipy II
Ejemplos de interpolaciones lineales, evaluación de la correlación entre variables, determinación de factores de correlación y análisis de intervalos de confianza.
- Interpolación lineal de datos.
- Análisis y coeficientes de correlación.
- Intervalos de confianza.
- Distribuciones de frecuencia multivariadas.
Sesión 3: Análisis y visualización de datos de precipitación y caudal
Esta sesión cubre scripts de ejemplo para la recopilación, filtrado, visualización y análisis de correlación de datos de precipitación y caudal a largo plazo.
- Análisis histórico de la precipitación.
- Análisis de la relación entre caudal y lluvia.
- Cálculos basados en la precipitación.
- Visualización de precipitación y caudal en doble eje.
Sesión 4: Interpolación espacial de datos de precipitación con Python y Matplotlib
Ejemplo de análisis de precipitación medida registrada durante la tormenta tropical Ida en el estado de Louisiana, EE. UU. Gráficos interactivos de la precipitación interpolada a lo largo de 9 días.
- Exploración de datos de precipitación con Python.
- Definición de la ubicación de las estaciones con Folium.
- Graficado de valores de precipitación con los siguientes métodos: Lineal, Cúbico y Vecino más cercano.
- Creación de una función de graficado para datos de precipitación interpolados.
Módulo 3: Visualización de datos en Python
Siguiendo el proceso de aprendizaje de la programación en Python para recursos hídricos, desarrollaremos un curso enfocado en la visualización de datos utilizando diferentes librerías gráficas como Matplotlib, Seaborn, Folium y Altair. Este módulo tiene como objetivo aprender el proceso de creación y control de gráficos para un análisis de datos eficiente e interactivo.
Sesión 01: Matplotlib
Esta sesión se enfoca en aprender a usar la librería Matplotlib, la cual proporciona bloques para crear visualizaciones para diferentes tipos de datos y cómo personalizarlas.
- Introducción a Matplotlib.
- Creación de un gráfico simple usando Matplotlib.
- Personalización de gráficos.
- Gráficos de barras e histogramas.
- Gráficos de dispersión y dispersión en 3D.
Sesión 02: Seaborn
Introducción a la librería Seaborn y cómo visualizar datos de química del agua utilizando gráficos de Seaborn como barras, histogramas, dispersión y dispersión en 3D.
- Introducción a Seaborn.
- Lectura de datos de química del agua en formato CSV.
- Graficado con Seaborn: Histogramas, gráficos de barras, diagramas de caja (box plots), gráficos de pares (pair plots) y subgráficos.
Sesión 03: Folium
Exploraremos las diferentes capacidades de la librería Folium, la cual permite crear mapas rápidamente utilizando un conjunto de datos de agua del grifo y aguas subterráneas.
- Introducción a Folium.
- Marcadores y creación de mapas de puntos.
- Procesamiento de datos de agua del grifo y pozos de agua subterránea.
- Visualización de datos geoespaciales con múltiples líneas emergentes (popups).
Sesión 04: Altair
En esta sesión, aprenderemos a crear visualizaciones con la librería de Python Altair y sabremos cómo manipular e interactuar con esos gráficos utilizando datos meteorológicos.
- Introducción a Altair.
- Exploración de datos meteorológicos: Cálculo de la precipitación total de cada mes.
- Visualización de la temperatura media y el rango de temperatura mediante gráficos de barras.
- Relación entre el clima, la precipitación y la temperatura máxima.
- Configuración para usar un lienzo más grande y permitir el desplazamiento (panning) y zoom interactivos con el mouse.
Módulo 4: Análisis aplicado de datos geoespaciales con Python
La modelación del flujo superficial, el flujo de aguas subterráneas o cualquier proceso físico en el medio ambiente es, por sí mismo, un proceso distribuido donde las herramientas analíticas deben combinarse con herramientas geoespaciales a nivel de programación. Hemos recopilado la información básica y ejemplos aplicados de las herramientas geoespaciales más comunes disponibles en Python, asegurando su funcionalidad en cualquier sistema operativo.
Sesión 1: Introducción a Fiona
Fiona es un paquete de Python para la lectura y escritura de shapefiles de ESRI y otros formatos. En esta sesión exploraremos los fundamentos de Fiona.
- Lectura de datos geoespaciales: Exploración de metadatos y geometría.
- Trabajo con datos de puntos y polígonos.
- Creación de un gráfico compuesto.
- Lectura de datos multicapa.
- Verificación de controladores (drivers) de formato.
- Conversión de datos geoespaciales: Shapefile a GeoJSON, Geopackage a GeoJSON.
Sesión 2: Introducción a Shapely
En esta sesión exploraremos la manipulación y el análisis de geometrías a partir de objetos espaciales en un plano cartesiano con Shapely.
- Creación de geometrías.
- Distinción entre operaciones constructivas (buffer, convex hull) y de teoría de conjuntos (intersección, unión).
- Análisis espacial sobre elementos: escuelas inundadas, autopistas.
- Guardado de resultados como un shapefile con sus metadatos correspondientes.
Sesión 3: Gestión de datos ráster con Rasterio y Python
Exploraremos Rasterio, un paquete de Python para la gestión y el análisis de ráster, explorando sus capacidades para la lectura/escritura de ráster, extracción de metadatos, graficado y álgebra de bandas.
- Lectura de imágenes TIFF monobanda y pancromáticas.
- Exploración de información y atributos de conjuntos de datos ráster.
- Análisis de información espacial.
- Lectura de datos de bandas ráster.
- Opciones de graficado ráster con Rasterio y Matplotlib.
- Ejemplo de álgebra ráster: Cálculo del índice de vegetación NDVI.
Sesión 04: Introducción a Geopandas para el análisis de áreas inundadas
Esta sesión cubrirá un análisis del impacto de las áreas inundadas en la infraestructura utilizando Python y Geopandas. El ejercicio mostrará cómo Geopandas puede gestionar tanto el análisis espacial como las operaciones entre columnas.
- Lectura de datos en Geopandas.
- Trabajo con cadenas de líneas (linestrings) y puntos.
- Operación espacial.
- Graficado de datos con Folium.
- Recorte (clipping) y exportación de áreas inundadas.
Módulo 5: Aprendizaje automático con Python para recursos hídricos
Los algoritmos de aprendizaje automático (machine learning) en Python son herramientas simples y eficientes para el análisis predictivo de datos y pueden aplicarse a cualquier campo de los recursos hídricos. Hemos desarrollado algunos casos aplicados de predicción con aprendizaje automático utilizando Scikit Learn y Scikit Image en una variedad de temas que van desde la química del agua, el llenado de datos faltantes de precipitación, hasta la delimitación de cuerpos de agua.
Sesión 1: Llenado de datos faltantes de precipitación
Implementación de diferentes métodos en Python para llenar vacíos en datos de precipitación u otras variables relacionadas con el agua, tales como Promedio Aritmético (AA) simple, relación normal, regresión multilineal y redes neuronales.
- Promedio Aritmético Simple (AA).
- Regresiones lineales múltiples.
- Redes neuronales.
Sesión 2: Llenado de precipitación faltante a partir de múltiples estaciones y variables climáticas
Esta sesión muestra un procedimiento aplicado para ejecutar un script completo para el llenado de precipitación faltante en una estación mediante el uso de datos de múltiples estaciones y variables climáticas.
- Recortes múltiples a datos de estaciones.
- Exploración de estaciones y variables climáticas.
- Creación de una función de graficado para visualizar la distribución temporal de las variables climáticas.
- Generación de una red neuronal.
Sesión 3: Análisis de conglomerados (clusters) en química del agua
Esta sesión aplicará el algoritmo de Análisis de Componentes Principales a un conjunto de datos de química del agua extraídos de un archivo tabular y realizará dendrogramas.
- Lectura de datos en un dataframe de pandas.
- Descripción de muestras de componentes.
- Análisis de Componentes Principales (PCA) usando Scikit-Learn.
- Realización de agrupamiento jerárquico (hierarchical clustering):
- Tratar cada dato como un conglomerado independiente.
- Formar un conglomerado uniendo los dos datos más cercanos.
- Graficar un dendrograma para dividir en múltiples conglomerados.
Sesión 4: Delimitación de cuerpos de agua con filtros Canny
Esta sesión utilizará Python junto con Scikit Learn y librerías geoespaciales para delimitar cuerpos de agua y proporcionar los resultados como un archivo espacial vectorial.
- Importación de los paquetes requeridos.
- Lectura de bandas.
- Filtro Canny.
- Exportación de bordes como shapefile geoespacial.
Trainer
Saul Montoya M.Sc.
Hydrogeologist - Numerical Modeler
Mr. Montoya is a Civil Engineer graduated from the Catholic University in Lima with postgraduate studies in Management and Engineering of Water Resources (WAREM Program) from Stuttgart University – Germany with mention in Groundwater Engineering and Hydroinformatics. Mr Montoya has a strong analytical capacity for the interpretation, conceptualization and modeling of the surface and underground water cycle and their interaction.
He is in charge of numerical modeling for contaminant transport and remediation systems of contaminated sites. Inside his hydrological and hydrogeological investigations Mr. Montoya has developed a holistic comprehension of the water cycle, understanding and quantifying the main hydrological dynamic process of precipitation, runoff, evaporation and recharge to the groundwater system.
Over the last 9 years Saul has developed 2 websites for knowledge sharing in water resources: www.gidahatari.com (Spanish) and www.hatarilabs.com (English) that have become relevant due to its applied tutorials on groundwater modeling, spatial analysis and computational fluid mechanics.
Metodología / Evaluación
Modalidad: En línea con transmisión en vivo - Sincrónico
Algunos detalles sobre la metodología del diplomado:
- Los manuales y archivos para los ejercicios se entregarán en nuestra plataforma en línea.
- El curso se desarrollará mediante transmisión de video con soporte e interacción en vivo; los videos grabados estarán disponibles en nuestra plataforma de aprendizaje electrónico (e-learning).
- Hay soporte en línea para preguntas relacionadas con los ejercicios desarrollados a través de correo electrónico y reuniones (meets).
- Los videos de las clases estarán disponibles durante 12 meses.
Los exámenes y la certificación se organizan de la siguiente manera:
- El programa cuenta con 2 exámenes que comprenden el contenido de 2 o 3 cursos.
- Certificado digital disponible al finalizar el programa tras la aprobación del examen.
Fecha y hora
El curso consta de sesiones con una duración aproximada de 1 a 1.5 horas, todas comenzando a las 6:00 PM Hora de Lima.
Módulo 1
19, 21, 26, 28 de Octubre de 2026
Módulo 2
2, 4, 9, 11 de Noviembre de 2026
Módulo 3
23, 25, 30 de Noviembre de 2026
2 de Diciembre de 2026
Módulo 4
7, 9, 14, 16 de Diciembre de 2026
Módulo 5
4, 6, 11, 13 de Enero de 2027
Costos
Esta es la lista de precios y descuentos:
- 46% de descuento si pagas antes del 1 de Agosto: $350 USD - 1260 Soles
- 30% de descuento si pagas antes del 1 de Septiembre: $420 USD - 1510 Soles
- 15% de descuento si pagas antes del 1 de October: $510 USD - 1830 Soles
- Precio Normal: $600 USD - 2160 Soles