Curso de introducción para aprender a automatizar el procesamiento de datos y la realización de tareas repetitivas.
Requisitos: Algo de experiencia en cualquier otro lenguaje de programación (MATLAB/GNU Octave, C/C++, Java) es bienvenida.
Licencia: Texto: CC-BY | Código: MIT
Toma de notas: https://beta.etherpad.org/p/curso-python
Introducción a la programación y ecosistema de Python científico.
-
Instalación y primeros pasos con Python (1h)
- Instalación de Python científico (Anaconda, Jupyter Notebook)
- Ventajas e inconvenientes frente a otros lenguajes
- Algunos ejemplos de motivación automatizando tareas para mostrar la versatilidad de Python (además de cálculo)
-
Análisis de datos con Python (7 h), adaptación de SWC (http://swcarpentry.github.io/python-novice-inflammation/index.html):
- Análisis de datos con Python, NumPy y Matplotlib
- Repaso a la sintaxis de Python (estructuras de control)
- Buenas técnicas de programación
- Uso de programas Python por línea de comandos
-
Repaso a las librerías principales del ecosistema de Python científico (4h) http://www.scipy-lectures.org/
- Algebra lineal, optimización, cálculo numérico y estadística con SciPy
- Breve presentación de diversos paquetes científicos especializados:
- Estadística (statsmodel y pandas)
- Machine learning (sklearn)
- Plotting (matplotib, seaborn)
-
Trabajo con ficheros y automatización de tareas (4h)
- Trabajo con archivos (lectura y escritura, organización) - https://v4.software-carpentry.org/sysprog/index.html
- Scripting de sistema con Python (compatible con windows, mac y linux)
- Peticiones web y bases de datos
- Ejemplo para automizar la descarga de datos desde páginas tipo: https://opendata.aemet.es/centrodedescargas/inicio
- Web-scraping
- Python 2 vs Python 3
- Ejemplos de postprocesamiento con Python y la API de Paraview (macros) o QGIS
-
Documentación y ayuda (docs, GitHub, Stack Overflow...)
- [ES] Curso de Python para científicos e ingenieros
- [ES] Recursos para aprender Python
- [EN] Software-Carpentry: Talleres de Python, Linux, SQL, GitHub (EN)
- [EN] A gallery of interesting Jupyter and IPython Notebooks
- [EN] Python tutor