SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
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
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
EVOLUCIÓN HISTÓRICA
iPython
iPython notebook
Jupyter notebook (Language agnostic)
ARQUITECTURA DE IJUPYTER
MUUUY SIMPLIFICADA
Web
Notebook
iPython
Terminal
iPython Kernel 
ZeroMQ
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
JUPYTER ≊ JULIA + PYTHON + R
Y MÁS...
... muchos más: , , , , ...
Lista completa en
Keywords: Jupyter kernel [Tu lenguaje
favorito aquí]
Ruby
Haskell
Node.js
Go Scala Octave Bash Rust
https://github.com/jupyter/jupyter/wiki/Jupyter-
kernels
¿QUÉ ES IPYTHON?
IPYTHON ES PYTHON CON SUPERPODERES
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...
¿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)
EJEMPLO DE LAS CAPACIDADES DE IPYTHON ⚙
Desde la consola, escribimos: ipython
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
(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
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
¿QUÉ ES UN NOTEBOOK?
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
¿PARA QUÉ SIRVE?
Consola Python en web
Realización de análisis y estudios
Informes en vivo
Panel de mando
Publicaciones interactivas
CARACTERÍSTICAS DE LOS NOTEBOOKS
Fáciles de compartir
Autocontenidos
Repetibles
Veri cables
Modi cables
ARRANQUEMOS JUPYTER ⚙
Desde la consola, ejecutar jupyter notebook
CREAR UN NUEVO NOTEBOOK ⚙
A la Derecha, elegimos New → Python 3
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
ANATOMIA DE UN NOTEBOOK
UN NOTEBOOK SE DIVIDE EN CELDAS
NOTEBOOK = LISTA DE CELDAS + METADATOS
HAY VARIOS TIPOS DE CELDAS
Celda de texto
Celda de código
Celda de resultados
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
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
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
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
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
COSAS QUE NO TENEMOS TIEMPO DE VER
PERO QUE RESULTAN INTERESANTES
TODAS LAS FANTÁSTICAS LIBRERÍAS CIENTÍFICAS Y
MATEMÁTICAS: NUMPY, PANDAS, MATPLOTLIB, SCIPY...
... pero no te pierdas el siguiente taller, te gustará
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
USO DE OTROS KERNELS (LENGUAJES)
Hay para elegir
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
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
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
SEGURIDAD
No hemos visto nada, pero existe
¡GRACIAS A TODOS POR
ASISTIR!
¿PREGUNTAS?

Más contenido relacionado

La actualidad más candente

Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintóticaPablo Silva
 
쿠버네티스의 이해 #1
쿠버네티스의 이해 #1쿠버네티스의 이해 #1
쿠버네티스의 이해 #1상욱 송
 
Informe laboratorio 4 ospf rip
Informe laboratorio 4 ospf   ripInforme laboratorio 4 ospf   rip
Informe laboratorio 4 ospf ripHelenio Corvacho
 
Enrutamiento dinamico eigrp ospf
Enrutamiento dinamico eigrp ospfEnrutamiento dinamico eigrp ospf
Enrutamiento dinamico eigrp ospfcyberleon95
 
Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座Kazuto Kusama
 
KubeVirt (Kubernetes and Cloud Native Toronto)
KubeVirt (Kubernetes and Cloud Native Toronto)KubeVirt (Kubernetes and Cloud Native Toronto)
KubeVirt (Kubernetes and Cloud Native Toronto)Stephen Gordon
 
Juraci Paixão Kröhling - All you need to know about OpenTelemetry
Juraci Paixão Kröhling - All you need to know about OpenTelemetryJuraci Paixão Kröhling - All you need to know about OpenTelemetry
Juraci Paixão Kröhling - All you need to know about OpenTelemetryJuliano Costa
 
試験にでるSpring
試験にでるSpring試験にでるSpring
試験にでるSpring土岐 孝平
 
Paradigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmicoParadigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmicoAdriano Teixeira de Souza
 

La actualidad más candente (20)

Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Cisco packet tracer ripv1
Cisco packet tracer   ripv1Cisco packet tracer   ripv1
Cisco packet tracer ripv1
 
Programando com Python
Programando com PythonProgramando com Python
Programando com Python
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintótica
 
쿠버네티스의 이해 #1
쿠버네티스의 이해 #1쿠버네티스의 이해 #1
쿠버네티스의 이해 #1
 
Informe laboratorio 4 ospf rip
Informe laboratorio 4 ospf   ripInforme laboratorio 4 ospf   rip
Informe laboratorio 4 ospf rip
 
Enrutamiento dinamico eigrp ospf
Enrutamiento dinamico eigrp ospfEnrutamiento dinamico eigrp ospf
Enrutamiento dinamico eigrp ospf
 
Linguagem C - Ponteiros
Linguagem C - PonteirosLinguagem C - Ponteiros
Linguagem C - Ponteiros
 
Estrutura de Dados - Ponteiros
Estrutura de Dados - PonteirosEstrutura de Dados - Ponteiros
Estrutura de Dados - Ponteiros
 
Linguagem Dart (Google)
Linguagem Dart (Google)Linguagem Dart (Google)
Linguagem Dart (Google)
 
Python Orientação a Objeto
Python Orientação a ObjetoPython Orientação a Objeto
Python Orientação a Objeto
 
¿Qué es docker?
¿Qué es docker?¿Qué es docker?
¿Qué es docker?
 
Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座
 
KubeVirt (Kubernetes and Cloud Native Toronto)
KubeVirt (Kubernetes and Cloud Native Toronto)KubeVirt (Kubernetes and Cloud Native Toronto)
KubeVirt (Kubernetes and Cloud Native Toronto)
 
Juraci Paixão Kröhling - All you need to know about OpenTelemetry
Juraci Paixão Kröhling - All you need to know about OpenTelemetryJuraci Paixão Kröhling - All you need to know about OpenTelemetry
Juraci Paixão Kröhling - All you need to know about OpenTelemetry
 
試験にでるSpring
試験にでるSpring試験にでるSpring
試験にでるSpring
 
Linguagem C - Operadores bit a bit
Linguagem C - Operadores bit a bitLinguagem C - Operadores bit a bit
Linguagem C - Operadores bit a bit
 
Paradigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmicoParadigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmico
 
Arquitetura peer to-peer (p2p)
Arquitetura peer to-peer (p2p)Arquitetura peer to-peer (p2p)
Arquitetura peer to-peer (p2p)
 

Destacado

1 intelligent business_elementary_coursebook
1 intelligent business_elementary_coursebook1 intelligent business_elementary_coursebook
1 intelligent business_elementary_coursebookSilvia
 
Introducción a DSL (Lenguajes Específicos de Dominios) con Python
Introducción a DSL (Lenguajes Específicos de Dominios) con PythonIntroducción a DSL (Lenguajes Específicos de Dominios) con Python
Introducción a DSL (Lenguajes Específicos de Dominios) con PythonJuan Rodríguez
 
Rostros da comedia: anos 20
Rostros da comedia: anos 20Rostros da comedia: anos 20
Rostros da comedia: anos 20filmotecaforum
 
Karneval 2017
Karneval 2017Karneval 2017
Karneval 2017ZSLanzhot
 
Austin Economic Forecast 2017 Presentation @ Westin Domain w/Capstone Capital...
Austin Economic Forecast 2017 Presentation @ Westin Domain w/Capstone Capital...Austin Economic Forecast 2017 Presentation @ Westin Domain w/Capstone Capital...
Austin Economic Forecast 2017 Presentation @ Westin Domain w/Capstone Capital...Kenn Renner
 
Graella arxius
Graella arxiusGraella arxius
Graella arxiusPaulaBrug
 
Matemáticas Discretas - Unidad 1 Sistemas numericos
Matemáticas Discretas - Unidad 1 Sistemas numericosMatemáticas Discretas - Unidad 1 Sistemas numericos
Matemáticas Discretas - Unidad 1 Sistemas numericosJosé Antonio Sandoval Acosta
 
контролінг інвестиційних проектів
контролінг інвестиційних проектівконтролінг інвестиційних проектів
контролінг інвестиційних проектівav47840
 
Windows環境でのMySQL
Windows環境でのMySQLWindows環境でのMySQL
Windows環境でのMySQLyoyamasaki
 
Go 1.8 'new' networking features
Go 1.8 'new' networking featuresGo 1.8 'new' networking features
Go 1.8 'new' networking featuresstrikr .
 

Destacado (20)

1 intelligent business_elementary_coursebook
1 intelligent business_elementary_coursebook1 intelligent business_elementary_coursebook
1 intelligent business_elementary_coursebook
 
Slideshare el lam
Slideshare el lamSlideshare el lam
Slideshare el lam
 
Introducción a DSL (Lenguajes Específicos de Dominios) con Python
Introducción a DSL (Lenguajes Específicos de Dominios) con PythonIntroducción a DSL (Lenguajes Específicos de Dominios) con Python
Introducción a DSL (Lenguajes Específicos de Dominios) con Python
 
Rostros da comedia: anos 20
Rostros da comedia: anos 20Rostros da comedia: anos 20
Rostros da comedia: anos 20
 
1 informe no2_cnc_torres
1 informe no2_cnc_torres1 informe no2_cnc_torres
1 informe no2_cnc_torres
 
Karneval 2017
Karneval 2017Karneval 2017
Karneval 2017
 
Contabilidad fiorella foliaco
Contabilidad fiorella foliacoContabilidad fiorella foliaco
Contabilidad fiorella foliaco
 
Probabilidad
ProbabilidadProbabilidad
Probabilidad
 
Basura espacial
Basura espacialBasura espacial
Basura espacial
 
Seminario 2
Seminario 2 Seminario 2
Seminario 2
 
Austin Economic Forecast 2017 Presentation @ Westin Domain w/Capstone Capital...
Austin Economic Forecast 2017 Presentation @ Westin Domain w/Capstone Capital...Austin Economic Forecast 2017 Presentation @ Westin Domain w/Capstone Capital...
Austin Economic Forecast 2017 Presentation @ Westin Domain w/Capstone Capital...
 
Referencia 1
Referencia 1Referencia 1
Referencia 1
 
F. W. Murnau
F. W. MurnauF. W. Murnau
F. W. Murnau
 
Graella arxius
Graella arxiusGraella arxius
Graella arxius
 
Matemáticas Discretas - Unidad 1 Sistemas numericos
Matemáticas Discretas - Unidad 1 Sistemas numericosMatemáticas Discretas - Unidad 1 Sistemas numericos
Matemáticas Discretas - Unidad 1 Sistemas numericos
 
контролінг інвестиційних проектів
контролінг інвестиційних проектівконтролінг інвестиційних проектів
контролінг інвестиційних проектів
 
El arte de hacer un pitch
El arte de hacer un pitchEl arte de hacer un pitch
El arte de hacer un pitch
 
Windows環境でのMySQL
Windows環境でのMySQLWindows環境でのMySQL
Windows環境でのMySQL
 
Ramorum2016 final
Ramorum2016 finalRamorum2016 final
Ramorum2016 final
 
Go 1.8 'new' networking features
Go 1.8 'new' networking featuresGo 1.8 'new' networking features
Go 1.8 'new' networking features
 

Similar a Introducción a jupyter (antes i python notebook)

Jupyter e IPython para manipulación de datos
Jupyter e IPython para manipulación de datosJupyter e IPython para manipulación de datos
Jupyter e IPython para manipulación de datosSoftware Guru
 
python-para-todos.pdf
python-para-todos.pdfpython-para-todos.pdf
python-para-todos.pdfJaviMartin21
 
Python para todos
Python para todosPython para todos
Python para todosErik Gur
 
python-para-todos.pdf
python-para-todos.pdfpython-para-todos.pdf
python-para-todos.pdfRafalJMalave
 
Python para todos
Python para todosPython para todos
Python para todossebas145713
 
Python_para_todos.pdf
Python_para_todos.pdfPython_para_todos.pdf
Python_para_todos.pdfssuser626fe4
 
Clase 1 Curso Introducción a Python 2012
Clase 1 Curso Introducción a Python 2012Clase 1 Curso Introducción a Python 2012
Clase 1 Curso Introducción a Python 2012Nahuel Defossé
 
Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientesalexis ibarra
 
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...Ricardo Guerrero Gómez-Olmedo
 
Parallel python sistemas operativos avanzados
Parallel python sistemas operativos avanzadosParallel python sistemas operativos avanzados
Parallel python sistemas operativos avanzadosDaniel Muccela
 
Intro Python
Intro PythonIntro Python
Intro PythonMoreLab
 
Clase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxClase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxjgs07
 
Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014Sergio Soto
 
Python - Programando fácil, rápido y gratis
Python - Programando fácil, rápido y gratisPython - Programando fácil, rápido y gratis
Python - Programando fácil, rápido y gratisJuan Percy Rojas Cruz
 
Python_Module_01_Courtesy.pdf
Python_Module_01_Courtesy.pdfPython_Module_01_Courtesy.pdf
Python_Module_01_Courtesy.pdfCeth1
 

Similar a Introducción a jupyter (antes i python notebook) (20)

Python power 1
Python power 1Python power 1
Python power 1
 
Jupyter e IPython para manipulación de datos
Jupyter e IPython para manipulación de datosJupyter e IPython para manipulación de datos
Jupyter e IPython para manipulación de datos
 
python-para-todos.pdf
python-para-todos.pdfpython-para-todos.pdf
python-para-todos.pdf
 
Python para todos
Python para todosPython para todos
Python para todos
 
Python para Todos
Python para TodosPython para Todos
Python para Todos
 
python-para-todos.pdf
python-para-todos.pdfpython-para-todos.pdf
python-para-todos.pdf
 
Python para todos
Python para todosPython para todos
Python para todos
 
Libro python para todos
Libro   python para todosLibro   python para todos
Libro python para todos
 
Python para todos
Python para todosPython para todos
Python para todos
 
Python_para_todos.pdf
Python_para_todos.pdfPython_para_todos.pdf
Python_para_todos.pdf
 
Python_para_todos.pdf
Python_para_todos.pdfPython_para_todos.pdf
Python_para_todos.pdf
 
Clase 1 Curso Introducción a Python 2012
Clase 1 Curso Introducción a Python 2012Clase 1 Curso Introducción a Python 2012
Clase 1 Curso Introducción a Python 2012
 
Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientes
 
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
 
Parallel python sistemas operativos avanzados
Parallel python sistemas operativos avanzadosParallel python sistemas operativos avanzados
Parallel python sistemas operativos avanzados
 
Intro Python
Intro PythonIntro Python
Intro Python
 
Clase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxClase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptx
 
Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014
 
Python - Programando fácil, rápido y gratis
Python - Programando fácil, rápido y gratisPython - Programando fácil, rápido y gratis
Python - Programando fácil, rápido y gratis
 
Python_Module_01_Courtesy.pdf
Python_Module_01_Courtesy.pdfPython_Module_01_Courtesy.pdf
Python_Module_01_Courtesy.pdf
 

Más de Juan Rodríguez

Estados imposibles y como evitarlos
Estados imposibles y como evitarlosEstados imposibles y como evitarlos
Estados imposibles y como evitarlosJuan Rodríguez
 
Introduction to BDD (Behavior-Driven Development)
Introduction to BDD (Behavior-Driven Development)Introduction to BDD (Behavior-Driven Development)
Introduction to BDD (Behavior-Driven Development)Juan Rodríguez
 
Vue.js: El framework javascript para muggles
Vue.js: El framework javascript para mugglesVue.js: El framework javascript para muggles
Vue.js: El framework javascript para mugglesJuan Rodríguez
 
Acceder a C desde Python (O viceversa)
Acceder a C desde Python (O viceversa)Acceder a C desde Python (O viceversa)
Acceder a C desde Python (O viceversa)Juan Rodríguez
 
Viaje al centro de la locura con Javascript
Viaje al centro de la locura con JavascriptViaje al centro de la locura con Javascript
Viaje al centro de la locura con JavascriptJuan Rodríguez
 
Una imagen vale más que mil mentiras
Una imagen vale más que mil mentirasUna imagen vale más que mil mentiras
Una imagen vale más que mil mentirasJuan Rodríguez
 
Presentación estetoscopio
Presentación estetoscopioPresentación estetoscopio
Presentación estetoscopioJuan Rodríguez
 
Charla introducción a RaspberryPI
Charla introducción a RaspberryPICharla introducción a RaspberryPI
Charla introducción a RaspberryPIJuan Rodríguez
 
Guia (breve) de supervivencia a python 3
Guia (breve) de supervivencia a python 3Guia (breve) de supervivencia a python 3
Guia (breve) de supervivencia a python 3Juan Rodríguez
 
¡A todo Kanban! ~ Introducción a kanban
¡A todo Kanban! ~ Introducción a kanban¡A todo Kanban! ~ Introducción a kanban
¡A todo Kanban! ~ Introducción a kanbanJuan Rodríguez
 
02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcionalJuan Rodríguez
 
00 introducción a Python
00 introducción a Python00 introducción a Python
00 introducción a PythonJuan Rodríguez
 
Taller de introducción al desarrollo web con Django
Taller de introducción al desarrollo web con DjangoTaller de introducción al desarrollo web con Django
Taller de introducción al desarrollo web con DjangoJuan Rodríguez
 
Presentacion Google Mini Adeje 16 Oct 2008
Presentacion Google Mini Adeje 16 Oct 2008Presentacion Google Mini Adeje 16 Oct 2008
Presentacion Google Mini Adeje 16 Oct 2008Juan Rodríguez
 
Algunos recursos para desarrollo Web
Algunos recursos para desarrollo WebAlgunos recursos para desarrollo Web
Algunos recursos para desarrollo WebJuan Rodríguez
 
Hojas de estilo CSS (Cascade Style Sheets)
Hojas de estilo CSS (Cascade Style Sheets)Hojas de estilo CSS (Cascade Style Sheets)
Hojas de estilo CSS (Cascade Style Sheets)Juan Rodríguez
 

Más de Juan Rodríguez (19)

Estados imposibles y como evitarlos
Estados imposibles y como evitarlosEstados imposibles y como evitarlos
Estados imposibles y como evitarlos
 
Introduction to BDD (Behavior-Driven Development)
Introduction to BDD (Behavior-Driven Development)Introduction to BDD (Behavior-Driven Development)
Introduction to BDD (Behavior-Driven Development)
 
Vue.js: El framework javascript para muggles
Vue.js: El framework javascript para mugglesVue.js: El framework javascript para muggles
Vue.js: El framework javascript para muggles
 
Acceder a C desde Python (O viceversa)
Acceder a C desde Python (O viceversa)Acceder a C desde Python (O viceversa)
Acceder a C desde Python (O viceversa)
 
Viaje al centro de la locura con Javascript
Viaje al centro de la locura con JavascriptViaje al centro de la locura con Javascript
Viaje al centro de la locura con Javascript
 
Una imagen vale más que mil mentiras
Una imagen vale más que mil mentirasUna imagen vale más que mil mentiras
Una imagen vale más que mil mentiras
 
Presentación estetoscopio
Presentación estetoscopioPresentación estetoscopio
Presentación estetoscopio
 
Charla introducción a RaspberryPI
Charla introducción a RaspberryPICharla introducción a RaspberryPI
Charla introducción a RaspberryPI
 
Guia (breve) de supervivencia a python 3
Guia (breve) de supervivencia a python 3Guia (breve) de supervivencia a python 3
Guia (breve) de supervivencia a python 3
 
¡A todo Kanban! ~ Introducción a kanban
¡A todo Kanban! ~ Introducción a kanban¡A todo Kanban! ~ Introducción a kanban
¡A todo Kanban! ~ Introducción a kanban
 
02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional
 
01 el lenguaje Python
01 el lenguaje Python01 el lenguaje Python
01 el lenguaje Python
 
00 introducción a Python
00 introducción a Python00 introducción a Python
00 introducción a Python
 
Taller de introducción al desarrollo web con Django
Taller de introducción al desarrollo web con DjangoTaller de introducción al desarrollo web con Django
Taller de introducción al desarrollo web con Django
 
Presentación appy/pod
Presentación appy/podPresentación appy/pod
Presentación appy/pod
 
Presentacion Google Mini Adeje 16 Oct 2008
Presentacion Google Mini Adeje 16 Oct 2008Presentacion Google Mini Adeje 16 Oct 2008
Presentacion Google Mini Adeje 16 Oct 2008
 
Algunos recursos para desarrollo Web
Algunos recursos para desarrollo WebAlgunos recursos para desarrollo Web
Algunos recursos para desarrollo Web
 
Hojas de estilo CSS (Cascade Style Sheets)
Hojas de estilo CSS (Cascade Style Sheets)Hojas de estilo CSS (Cascade Style Sheets)
Hojas de estilo CSS (Cascade Style Sheets)
 
Extranet Parlamento
Extranet ParlamentoExtranet Parlamento
Extranet Parlamento
 

Último

SEGUNDAS VANGUARDIAS ARTÍSTICAS DEL SIGLO XX.pdf
SEGUNDAS VANGUARDIAS ARTÍSTICAS DEL SIGLO XX.pdfSEGUNDAS VANGUARDIAS ARTÍSTICAS DEL SIGLO XX.pdf
SEGUNDAS VANGUARDIAS ARTÍSTICAS DEL SIGLO XX.pdfPC0121
 
PRUEBA CALIFICADA 4º sec biomoleculas y bioelementos .docx
PRUEBA CALIFICADA 4º sec biomoleculas y bioelementos .docxPRUEBA CALIFICADA 4º sec biomoleculas y bioelementos .docx
PRUEBA CALIFICADA 4º sec biomoleculas y bioelementos .docxAlexandraNeryHuamanM2
 
Flores Galindo, A. - La ciudad sumergida. Aristocracia y plebe en Lima, 1760-...
Flores Galindo, A. - La ciudad sumergida. Aristocracia y plebe en Lima, 1760-...Flores Galindo, A. - La ciudad sumergida. Aristocracia y plebe en Lima, 1760-...
Flores Galindo, A. - La ciudad sumergida. Aristocracia y plebe en Lima, 1760-...frank0071
 
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptxllacza2004
 
La señal de los higos buenos y los higos malos
La señal de los higos buenos y los higos malosLa señal de los higos buenos y los higos malos
La señal de los higos buenos y los higos malosDomingoAlbertoCorpor1
 
CASO CLÍNICO INFECCIONES Y TUMORES.pptx
CASO CLÍNICO INFECCIONES Y TUMORES.pptxCASO CLÍNICO INFECCIONES Y TUMORES.pptx
CASO CLÍNICO INFECCIONES Y TUMORES.pptx4bsbmpg98x
 
Schuster, Nicole. - La metrópolis y la arquitectura del poder ayer hoy y mana...
Schuster, Nicole. - La metrópolis y la arquitectura del poder ayer hoy y mana...Schuster, Nicole. - La metrópolis y la arquitectura del poder ayer hoy y mana...
Schuster, Nicole. - La metrópolis y la arquitectura del poder ayer hoy y mana...frank0071
 
Fresas y sistemas de pulido en odontología
Fresas y sistemas de pulido en odontologíaFresas y sistemas de pulido en odontología
Fresas y sistemas de pulido en odontologíaDanyAguayo1
 
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdf
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdfGribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdf
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdffrank0071
 
Perfiles NEUROPSI Atención y Memoria 6 a 85 Años (AyM).pdf
Perfiles NEUROPSI Atención y Memoria 6 a 85 Años (AyM).pdfPerfiles NEUROPSI Atención y Memoria 6 a 85 Años (AyM).pdf
Perfiles NEUROPSI Atención y Memoria 6 a 85 Años (AyM).pdfPieroalex1
 
Hobson, John A. - Estudio del imperialismo [ocr] [1902] [1981].pdf
Hobson, John A. - Estudio del imperialismo [ocr] [1902] [1981].pdfHobson, John A. - Estudio del imperialismo [ocr] [1902] [1981].pdf
Hobson, John A. - Estudio del imperialismo [ocr] [1902] [1981].pdffrank0071
 
Un repaso de los ensayos recientes de historia de la ciencia y la tecnología ...
Un repaso de los ensayos recientes de historia de la ciencia y la tecnología ...Un repaso de los ensayos recientes de historia de la ciencia y la tecnología ...
Un repaso de los ensayos recientes de historia de la ciencia y la tecnología ...Juan Carlos Fonseca Mata
 
Diario experiencias Quehacer Científico y tecnológico vf.docx
Diario experiencias Quehacer Científico y tecnológico vf.docxDiario experiencias Quehacer Científico y tecnológico vf.docx
Diario experiencias Quehacer Científico y tecnológico vf.docxJulieta624646
 
Pelos y fibras. Criminalistica pelos y fibras
Pelos y fibras. Criminalistica pelos y fibrasPelos y fibras. Criminalistica pelos y fibras
Pelos y fibras. Criminalistica pelos y fibrasPaola Rodríguez
 
Matemáticas Aplicadas usando Python
Matemáticas Aplicadas   usando    PythonMatemáticas Aplicadas   usando    Python
Matemáticas Aplicadas usando PythonErnesto Crespo
 
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdf
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdfAlthusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdf
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdffrank0071
 
1890 –7 de junio - Henry Marmaduke Harris obtuvo una patente británica (Nº 88...
1890 –7 de junio - Henry Marmaduke Harris obtuvo una patente británica (Nº 88...1890 –7 de junio - Henry Marmaduke Harris obtuvo una patente británica (Nº 88...
1890 –7 de junio - Henry Marmaduke Harris obtuvo una patente británica (Nº 88...Champs Elysee Roldan
 
medicinatradicionalescuelanacionaldesalud.pptx
medicinatradicionalescuelanacionaldesalud.pptxmedicinatradicionalescuelanacionaldesalud.pptx
medicinatradicionalescuelanacionaldesalud.pptxMAMANIMAMANI4
 
La Célula, unidad fundamental de la vida
La Célula, unidad fundamental de la vidaLa Célula, unidad fundamental de la vida
La Célula, unidad fundamental de la vidaMaraJosQuiroz2
 

Último (20)

La biodiversidad de Guanajuato (resumen)
La biodiversidad de Guanajuato (resumen)La biodiversidad de Guanajuato (resumen)
La biodiversidad de Guanajuato (resumen)
 
SEGUNDAS VANGUARDIAS ARTÍSTICAS DEL SIGLO XX.pdf
SEGUNDAS VANGUARDIAS ARTÍSTICAS DEL SIGLO XX.pdfSEGUNDAS VANGUARDIAS ARTÍSTICAS DEL SIGLO XX.pdf
SEGUNDAS VANGUARDIAS ARTÍSTICAS DEL SIGLO XX.pdf
 
PRUEBA CALIFICADA 4º sec biomoleculas y bioelementos .docx
PRUEBA CALIFICADA 4º sec biomoleculas y bioelementos .docxPRUEBA CALIFICADA 4º sec biomoleculas y bioelementos .docx
PRUEBA CALIFICADA 4º sec biomoleculas y bioelementos .docx
 
Flores Galindo, A. - La ciudad sumergida. Aristocracia y plebe en Lima, 1760-...
Flores Galindo, A. - La ciudad sumergida. Aristocracia y plebe en Lima, 1760-...Flores Galindo, A. - La ciudad sumergida. Aristocracia y plebe en Lima, 1760-...
Flores Galindo, A. - La ciudad sumergida. Aristocracia y plebe en Lima, 1760-...
 
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
 
La señal de los higos buenos y los higos malos
La señal de los higos buenos y los higos malosLa señal de los higos buenos y los higos malos
La señal de los higos buenos y los higos malos
 
CASO CLÍNICO INFECCIONES Y TUMORES.pptx
CASO CLÍNICO INFECCIONES Y TUMORES.pptxCASO CLÍNICO INFECCIONES Y TUMORES.pptx
CASO CLÍNICO INFECCIONES Y TUMORES.pptx
 
Schuster, Nicole. - La metrópolis y la arquitectura del poder ayer hoy y mana...
Schuster, Nicole. - La metrópolis y la arquitectura del poder ayer hoy y mana...Schuster, Nicole. - La metrópolis y la arquitectura del poder ayer hoy y mana...
Schuster, Nicole. - La metrópolis y la arquitectura del poder ayer hoy y mana...
 
Fresas y sistemas de pulido en odontología
Fresas y sistemas de pulido en odontologíaFresas y sistemas de pulido en odontología
Fresas y sistemas de pulido en odontología
 
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdf
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdfGribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdf
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdf
 
Perfiles NEUROPSI Atención y Memoria 6 a 85 Años (AyM).pdf
Perfiles NEUROPSI Atención y Memoria 6 a 85 Años (AyM).pdfPerfiles NEUROPSI Atención y Memoria 6 a 85 Años (AyM).pdf
Perfiles NEUROPSI Atención y Memoria 6 a 85 Años (AyM).pdf
 
Hobson, John A. - Estudio del imperialismo [ocr] [1902] [1981].pdf
Hobson, John A. - Estudio del imperialismo [ocr] [1902] [1981].pdfHobson, John A. - Estudio del imperialismo [ocr] [1902] [1981].pdf
Hobson, John A. - Estudio del imperialismo [ocr] [1902] [1981].pdf
 
Un repaso de los ensayos recientes de historia de la ciencia y la tecnología ...
Un repaso de los ensayos recientes de historia de la ciencia y la tecnología ...Un repaso de los ensayos recientes de historia de la ciencia y la tecnología ...
Un repaso de los ensayos recientes de historia de la ciencia y la tecnología ...
 
Diario experiencias Quehacer Científico y tecnológico vf.docx
Diario experiencias Quehacer Científico y tecnológico vf.docxDiario experiencias Quehacer Científico y tecnológico vf.docx
Diario experiencias Quehacer Científico y tecnológico vf.docx
 
Pelos y fibras. Criminalistica pelos y fibras
Pelos y fibras. Criminalistica pelos y fibrasPelos y fibras. Criminalistica pelos y fibras
Pelos y fibras. Criminalistica pelos y fibras
 
Matemáticas Aplicadas usando Python
Matemáticas Aplicadas   usando    PythonMatemáticas Aplicadas   usando    Python
Matemáticas Aplicadas usando Python
 
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdf
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdfAlthusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdf
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdf
 
1890 –7 de junio - Henry Marmaduke Harris obtuvo una patente británica (Nº 88...
1890 –7 de junio - Henry Marmaduke Harris obtuvo una patente británica (Nº 88...1890 –7 de junio - Henry Marmaduke Harris obtuvo una patente británica (Nº 88...
1890 –7 de junio - Henry Marmaduke Harris obtuvo una patente británica (Nº 88...
 
medicinatradicionalescuelanacionaldesalud.pptx
medicinatradicionalescuelanacionaldesalud.pptxmedicinatradicionalescuelanacionaldesalud.pptx
medicinatradicionalescuelanacionaldesalud.pptx
 
La Célula, unidad fundamental de la vida
La Célula, unidad fundamental de la vidaLa Célula, unidad fundamental de la vida
La Célula, unidad fundamental de la vida
 

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
  • 4. ARQUITECTURA DE IJUPYTER MUUUY SIMPLIFICADA Web Notebook iPython Terminal iPython Kernel  ZeroMQ
  • 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
  • 6. JUPYTER ≊ JULIA + PYTHON + R
  • 7. Y MÁS... ... muchos más: , , , , ... Lista completa en Keywords: Jupyter kernel [Tu lenguaje favorito aquí] Ruby Haskell Node.js Go Scala Octave Bash Rust https://github.com/jupyter/jupyter/wiki/Jupyter- kernels
  • 9. IPYTHON ES PYTHON CON SUPERPODERES
  • 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
  • 16. ¿QUÉ ES UN NOTEBOOK?
  • 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
  • 20. ARRANQUEMOS JUPYTER ⚙ Desde la consola, ejecutar jupyter notebook
  • 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
  • 23. ANATOMIA DE UN NOTEBOOK
  • 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
  • 38. SEGURIDAD No hemos visto nada, pero existe
  • 39. ¡GRACIAS A TODOS POR ASISTIR! ¿PREGUNTAS?