{"id":19079749,"url":"https://github.com/koldlight/curso-python-analisis-datos","last_synced_at":"2025-04-12T17:46:25.686Z","repository":{"id":43242335,"uuid":"233254183","full_name":"koldLight/curso-python-analisis-datos","owner":"koldLight","description":"Curso de python básico orientado al análisis de datos, en español","archived":false,"fork":false,"pushed_at":"2024-10-23T13:05:39.000Z","size":8866,"stargazers_count":228,"open_issues_count":12,"forks_count":50,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-04-12T04:00:00.776Z","etag":null,"topics":["course","data","data-analysis","folium","hacktoberfest","numpy","pandas","python","requests","seaborn","spanish"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-sa-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/koldLight.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["koldLight"]}},"created_at":"2020-01-11T15:37:39.000Z","updated_at":"2025-04-07T16:00:13.000Z","dependencies_parsed_at":"2024-11-16T06:05:00.515Z","dependency_job_id":"db771d3e-593c-49b1-8dd3-097a27bf751d","html_url":"https://github.com/koldLight/curso-python-analisis-datos","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koldLight%2Fcurso-python-analisis-datos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koldLight%2Fcurso-python-analisis-datos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koldLight%2Fcurso-python-analisis-datos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koldLight%2Fcurso-python-analisis-datos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/koldLight","download_url":"https://codeload.github.com/koldLight/curso-python-analisis-datos/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248609646,"owners_count":21132916,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["course","data","data-analysis","folium","hacktoberfest","numpy","pandas","python","requests","seaborn","spanish"],"created_at":"2024-11-09T02:15:50.925Z","updated_at":"2025-04-12T17:46:25.666Z","avatar_url":"https://github.com/koldLight.png","language":"HTML","funding_links":["https://github.com/sponsors/koldLight"],"categories":[],"sub_categories":[],"readme":"[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/koldLight/curso-python-analisis-datos/master)\n\n# Libro Python para análisis de datos\n\nEste curso tiene como objetivo enseñar Python orientado al análisis de datos en aproximadamente 24 horas.\n\nNo hace falta tener conocimientos previos de Python.\n\n## Contenido del curso\n\n* 1: Anaconda y notebooks\n* 2: Pandas\n* 3: Programación\n* 4: APIs\n* 5: Web scraping\n* 6: Introducción a la visualización de datos\n* 7: Gráficos\n* 8: Gráficos con seaborn\n* 9: Mapas\n* 10: Numpy\n* 11: Pivotación de tablas\n* 12: Bases de datos\n* 13: Producción\n* 14: Entornos\n\n_Nota:_ Hay gente que piensa que esta forma de ordenar el curso es _rara_. Los programadores estamos acostumbrados a empezar viendo sintaxis básica, tipos de datos, etc... para ir subiendo a librerías de más alto nivel más tarde.\n\nAquí, lo he hecho al revés. Lo primero que vemos son tablas de datos con pandas y de forma indirecta iremos utilizando números, cadenas de texto, listas, diccionarios, ... sin haberlos dado explícitamente. ¿Por qué? Para que el principiante pueda ver avance rápidamente y comprenda para qué sirve esa _parte aburrida_ de los tipos de datos y estructuras básicas antes de ponerse con ellas.\n\n## Ejecutar los notebooks del curso\n\n### Opción 1: Binder\n\nLa forma más fácil es utilizando Binder. Entra [aquí](https://mybinder.org/v2/gh/koldLight/curso-python-analisis-datos/master), espera a que se inicie, abre la carpeta de `notebooks` y tendrás los notebooks disponibles en un entorno funcional. De esta forma, puedes seguir el curso sin necesidad de que instales nada en tu ordenador.\n\nEn cambio, si quieres ir realizando los ejercicios y guardando los resultados, te recomiendo que instales Python localmente.\n\n### Opción 2: Instalación local\n\nPara lanzarlo desde tu máquina, tienes dos opciones:\n\n* Instalar Anaconda para Python 3 (recomendado para usuarios principiantes)\n* Utilizar `pipenv` (recomendado para usuarios avanzados).\n\n#### Opción 2a: Instalación local con Anaconda\n\nInstala la última versión de Anaconda para Python 3.7 para tu sistema operativo desde [aquí](https://www.anaconda.com/download). Fíjate bien que instales la de Python 3.7 (y no la de Python 2.7).\n\nAquí tienes un tutorial paso a paso de cómo hacerlo:\n\n* [Windows](https://www.datacamp.com/community/tutorials/installing-anaconda-windows). Fíjate bien en el paso en el que debes marcar que añada anaconda al PATH. Esa casilla debe quedar marcada.\n* [Mac](https://www.datacamp.com/community/tutorials/installing-anaconda-mac-os-x).\n\nUna vez instalado, nuestra terminal debería reconocer los comandos `conda` (el gestor de paquetes), `jupyter` (la herramienta de notebooks) y `python`, gracias a que hemos añadido anaconda a nuestro PATH. Esto quiere decir que, cuando escribamos uno de estos comandos, nuestro sistema lo buscará en la carpeta de anaconda. \n\nPara comprobarlo, abre una consola. Esto se puede hacer:\n\n* En Windows, abriendo el menú inicio y escribiendo cmd.exe. Si necesitas ayuda, mira más opciones [aquí](https://www.lifewire.com/how-to-open-command-prompt-2618089).\n* En Mac, abre una terminal. Si necesitas ayuda sobre cómo abrirla, mira [aquí](https://blog.teamtreehouse.com/introduction-to-the-mac-os-x-command-line).\n* En ubuntu / debian, abre una terminal. Si necesitas ayuda, mira [aquí](https://www.lifewire.com/ways-to-open-a-terminal-console-window-using-ubuntu-4075024).\n\nUna vez abierto, nos debería funcionar bien los siguientes tres comandos:\n\n```\npython --version\n\nconda --version\n\njupyter --version\n```\n\nSi nos dice que no reconoce el comando, es que no se ha añadido correctamente anaconda al PATH. Los tutoriales referenciados tienen buenas soluciones a este problema habitual.\n\nAhora, vamos a instalar las dependencias necesarias para nuestras sesiones con `conda`. Para ello, abre una terminal en tu ordenador y lanza lo siguiente:\n\n```\nconda install -c conda-forge seaborn\nconda install -c conda-forge folium\n```\n\nLos comandos anteriores deberán instalar sin error las librerías.\n\nY finalmente, para abrir los notebooks en Windows, puedes hacer, desde la consola (cmd.exe):\n\n```\njupyter notebook --notebook-dir='C:\\mi\\ruta\\con\\notebooks\\'\n```\n\nEn mac o linux, con la terminal:\n\n```\njupyter notebook --notebook-dir='/mi/ruta/con/notebooks'\n```\n\nModificando la ruta dependiendo de dónde los hayas descargado.\n\n#### Opción 2b: Instalación local con pipenv\n\nNecesitarás:\n\n  * Python 3.7 o superior\n  * pipenv\n  * jupyter\n\nSi no tienes `pipenv`, puedes instalarlo como comando así:\n\n```\nsudo -H pip install -U pipenv\n```\n\nSi no tienes `jupyter`, puedes instalarlo como comando así:\n\n```\nsudo -H pip install -U jupyter\n```\n\nPara instalar las dependencias, ejecuta:\n\n```\npipenv install --dev\n```\n\nLa primera vez que lo lances, creará el entorno virtual con las dependencias del proyecto.\n\nY para crear el kernel sobre el que correrán los notebooks, lanza lo siguiente:\n\n```\n# Activate the virtual environment\npipenv shell\n\n# Create the kernel\npython -m ipykernel install --user --name='libropython'\n\n# Exit the virtual environment shell\nexit\n```\n\nA partir de ahora, en `jupyter`, tendrás un nuevo kernel disponible llamado `libropython`. Tendrás que seleccionarlo para ejecutar correctamente los notebooks de este curso.\n\nFinalmente, para lanzar los notebooks:\n\n```\npipenv run jupyter notebook notebooks\n```\n\n### Opción 3: Docker\n\nSi prefieres utilizar un contenedor para lanzar el curso, basta con que tengas instalado `docker` en tu ordenador y lances:\n\n```\ndocker-compose up --build\n```\n\nCuando esté corriendo, saldrá un mensaje parecido a este por consola:\n\n```\ncurso_1  |     To access the notebook, open this file in a browser:\ncurso_1  |         file:///root/.local/share/jupyter/runtime/nbserver-1-open.html\ncurso_1  |     Or copy and paste one of these URLs:\ncurso_1  |         http://d9a5de8c039a:8888/?token=xxxxxxxx\ncurso_1  |      or http://127.0.0.1:8888/?token=xxxxxxxx\n```\n\nCopia y pega en tu navegador la última URL (la que empieza por `http://127.0.0.1:8888/?token=`) y accederás a los notebooks desplegados en tu contenedor.\n\n## Contribuye\n\nSi ves algo incorrecto, que no se entiende bien, crees que falta alguna explicación o tienes alguna idea que compartir, puedes crear una `issue` en el repositorio.\n\n## Licencia\n\n[![](http://i.creativecommons.org/l/by-sa/4.0/88x31.png)](http://creativecommons.org/licenses/by-sa/4.0/)\n\nPuedes utilizar libremente este material, con las siguientes condiciones:\n\n* Atribuir la autoría a este repositorio.\n* Si lo utilizas y haces cambios, deberás liberarlo también bajo la misma licencia.\n\n## TODO\n\n* Revisar links rotos\n* Añadir ejemplo paleta cut en sns\n* Pasar tema 06 intro visualización a notebook (en lugar de Rmd + html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoldlight%2Fcurso-python-analisis-datos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoldlight%2Fcurso-python-analisis-datos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoldlight%2Fcurso-python-analisis-datos/lists"}