Piccato, P. - Historia mínima de la violencia en México [2022].pdf
Introducción a jupyter (antes i python notebook)
1. INTRODUCCIÓN A
JUPYTER
(ANTES CONOCIDO COMO IPYTHONNOTEBOOK)
POR JUAN IGNACIO RODRÍGUEZ DE LEÓN (@JILEON EN TWITTER, @EURIBATES EN
TELEGRAM)
Fuentes en https://github.com/euribates/Jupyter-Intro
2. SOBRE LA INSTALACIÓN
Normalmente, se usa Jupyter junto a varias librerías:
Numpy, Pandas, Scipy, Matplotlib, etc...
Si ya usas Python, puedes usar pip para instalar
Jupyter. El resto de librerías puede ser más
complicado
Si eres nuevo, te recomiendo usar Anaconda:
Instala Jupyter y un montón de librerías ya
compiladas, super sencillo y válido para
Mac/Windows/Linux
keywords: Install Anaconda
5. JUPYTER SE DESVINCULA DE IPYTHON
Se de ne claramente la interfaz entre el notebook y
el nucleo
Ahora podemos reemplazar el nucleo de iPython por
otro, siempre que cumpla la misma interfaz
iPython sigue siendo el kernel por defecto, pero
pueden añadirse otros
10. UN INTERPRETE DE PYTHON AMPLIADO
Puede hacer todo lo que un interprete normal, y más:
Comandos "mágicos"
Coloreado de sintaxis
Autocompletado de código
Introspección
Mejores ayudas, documentación, debugging, etc...
11. ¿CÓMO LO HACE?
while True:
orden = espera_orden()
if orden.es_especial:
procesa_orden_interna(orden)
else:
salida = ejecuta_en_python(orden)
print(salida)
12. EJEMPLO DE LAS CAPACIDADES DE IPYTHON ⚙
Desde la consola, escribimos: ipython
13. COMANDOS MÁGICOS
Son ordenes propias de iPython
Siempre empiezan por % o %%
% para ordenes que afecta una sola línea
%% para ordenes que afectan a toda una celda
14. (ALGUNOS) COMANDOS MÁGICOS ⚙
%who y %whos muestran variables de nidas en el
espacio actual
%lsmagic es una orden mágica que lista todas las
ordenes mágicas disponibles
%timeit y %%timeit realizan un informe del
tiempo de ejecución de una línea o un fragmento de
código
Keywords: iPython magic commands
15. AYUDAS Y COMPLETADO DE SINTAXIS ⚙
Pulsando TAB
Ojo, realiza introspección de lo que tenga en
memoria.
Lo que no está cargado, lo desconoce
Podemos pedir ayuda de cualquier comando, mágico
o de python, con ?, antes o despues
17. UNA DEFINICIÓN
COMO CUALQUIER OTRA
Una aplicación web, que permite ejecutar código a la
vez que representar texto con formato, incluyendo
imágenes, diagramas y ecuaciones matemáticas de
forma integrada
18. ¿PARA QUÉ SIRVE?
Consola Python en web
Realización de análisis y estudios
Informes en vivo
Panel de mando
Publicaciones interactivas
19. CARACTERÍSTICAS DE LOS NOTEBOOKS
Fáciles de compartir
Autocontenidos
Repetibles
Veri cables
Modi cables
21. CREAR UN NUEVO NOTEBOOK ⚙
A la Derecha, elegimos New → Python 3
22. ALGUNOS EJERCICIOS ⚙
Cambiar el título del notebook
Ver que el cambio del nombre se re eja en el
dashboard
Añadir un chero al directorio desde el que
arrancamos Jupyter, por ejemplo, en línea de
comando: touch notas.md
Ver que el dashboard re eja el cambio, sin necesidad
de refrescar
24. UN NOTEBOOK SE DIVIDE EN CELDAS
NOTEBOOK = LISTA DE CELDAS + METADATOS
25. HAY VARIOS TIPOS DE CELDAS
Celda de texto
Celda de código
Celda de resultados
26. CELDA DE TEXTO
Aceptan markdown, y Html, con lo que podemos
darle formato a los textos muy facilmente
Podemos incluir fórmulas matemáticas usando el
formato de
Keywords: Latex Markdown MathJax Jupyter
LaTex
27. EJEMPLO DE CELDA DE TEXTO ⚙
Insertar texto en Markdown: negritas, itálicas, una
lista...
Insertar texto en Html: un párrafo, una imagen...
Insertar una formula matemática
28. CELDA DE CÓDIGO ⚙
Imprimir los pares hasta el 20
Cargar y mostrar una imagen
Crear un thumbnail de la imagen anterior y mostrarlo
Recortar una parte de la imagen y mostrarla
Keywords: Pillow Python Image Library
29. CELDA DE RESULTADOS
Lo que hemos visto en los resultados anterior
Jupyter reconoce tipos de datos diferentes y los
puede representar
Incluir HTML es superpotente
30. INCUIR UN VIDEO DE YOUTUBE ⚙
Usa el comando mágico %%HTML
Busca en compartir vídeo en YouTube, luego embeb
Guardianes de la galaxia Vol 2 va a ser la caña
31. COSAS QUE NO TENEMOS TIEMPO DE VER
PERO QUE RESULTAN INTERESANTES
32. TODAS LAS FANTÁSTICAS LIBRERÍAS CIENTÍFICAS Y
MATEMÁTICAS: NUMPY, PANDAS, MATPLOTLIB, SCIPY...
... pero no te pierdas el siguiente taller, te gustará
33. COMPARTIR Y CONVERTIR A OTROS FORMATOS
El formato ipynb es el formato estandar para
compartir. Es JSON sencillo. Su estructura es
metadatos más lista de celdas. Puedes enviarlo por
correo, hacer control de versiones, ponerlo en la
web...
Convertir a Html estático
Convertir a PDF vía Latex
Convertir a Restructured Text
Convertir a Python / Markdown
Keywords: nbconvert
34. USO DE OTROS KERNELS (LENGUAJES)
Hay para elegir
35. PROCESAMIENTO EN PARALELO
Podemos controlar ejecución en parelelo desde un
notebook sobre multiples maquindas. Muy interesante
para todo lo que sea BigData
Keywords: pyparellel
36. ESCRIBIR NUESTROS PROPIOS KERNELS
HAY DOS OPCIONES
Implementar el protocolo de comunicaciones con
ZeroMQ desde el lenguaje que queremos añadir
Más complicado, pero es tu lenguaje favorito. Tu
comunidad puede apoyarte.
Usar un wrapper en python
Las interfaces de comunicaciones ya están
creadas, por lo que es más simple.Pero puede que
tu lenguaje no se deje wrappear facilmente
37. COMPARTIR NOTEBOOKS
Existe soluciones para compartir el misno notebooks
entre diferentes personas, cada uno ejecuta su propia
version, mientras que el original se mantiene intacto
Keywords: JupyterHub