Introducción a Jupyter Notebook¶
¡Bienvenido a esta introducción a Jupyter Notebooks! La ventaja de los cuadernos es que pueden incluir texto explicativo, código y gráficos en el mismo documento.
**Esto hace que los cuadernos sean un patio de recreo ideal para explicar y aprender cosas nuevas sin tener que saltar entre varios documentos. ¡Gracias a Binder, puede ejecutarlos en su navegador web sin necesidad de instalar nada! **
Este documento en sí es un cuaderno. Es un archivo de texto simple con un final de ruta de archivo .ipynb
. Si abrió este cuaderno a través de un enlace de OGGM-Edu Binder, se abre en una plataforma llamada JupyterLab. “JupyterLab” es el entorno de desarrollo que le permite navegar entre cuadernos (barra de navegación a la izquierda), (re)iniciarlos y mucho más. Aquí, nos centraremos en los portátiles en sí.
Primeros pasos¶
A primera vista, el portátil parece un editor de texto. Debajo de esta línea, puede ver una celda. El propósito predeterminado de una celda es escribir código:
# Click on this cell, so that its frame gets highlighted
m = 'Hello'
print(m)
Hello
Puede escribir una o más líneas de código en una celda. Puede ejecutar este código haciendo clic en el botón “Ejecutar” de la barra de herramientas de arriba cuando el marco de la celda está resaltado. ¡Pruebalo ahora!
Es posible hacer clic en “reproducir” a través de un cuaderno, pero es mucho más rápido usar el atajo de teclado en su lugar: [Shift+Enter]
. Once you have executed a cell, the next cell is selected. You can insert cells in a notebook with the +
button in the toolbar. Again, it is much faster to learn the keybord shortcut for this: [Ctrl+m]
or [ESC]
to enter in command mode (blue frame) y luego presione [a]
para insertar una celda “arriba” de la celda activa o [b]
para “abajo “.
Cree algunas celdas vacías encima y debajo de la actual e intente crear algunas variables. En lugar de hacer clic en una celda para ingresar al modo de edición, presione [Enter]
.
Puede eliminar una celda haciendo clic en “Eliminar” en el menú “Editar”, o puede usar el atajo: [Ctrl+m]
para ingresar al modo de comando y luego presione [d]
dos veces.
Más edición de celdas¶
Cuando eche un vistazo al menú “Editar”, verá que hay más posibilidades para editar celdas, como:
copiar / cortar y pegar
dividir y combinar celdas y más.
a = 'This cell needs to be splitted.'
b = 'Put the cursor in the row between the variables a and b, then choose [split cell] in the "Edit" menu!'
Otro comando útil es “Deshacer eliminar celda”, que a veces se necesita cuando la tecla [d]
se presionó demasiado rápido.
Escribir y ejecutar código¶
Las variables creadas en una celda se pueden usar (o sobrescribir) en celdas posteriores:
s = 'Hello'
print(s)
Hello
s = s + ' Python!'
# Lines which start with # are not executed. These are for comments.
s
'Hello Python!'
Tenga en cuenta que omitimos el comando imprimir
anterior (esto está bien si desea imprimir algo solo al final de la celda).
En los cuadernos jupyter, se admite completado automático de código. Esto es muy útil al escribir código. Los nombres de variables, funciones y métodos se pueden completar presionando [TAB]
.
# Let's define a random sentence as string.
sentence = 'How Are You?'
# Now try autocompletion! Type 'se' in the next row and press [TAB].
# Call methods of the string by typing "sentence." and pressing [TAB].
# Choose for example the method lower() and see what happens when you execute the cell!
sentence.lower()
'how are you?'
Una ventaja de los cuadernos es que cada celda individual se puede ejecutar por separado. Eso proporciona una manera fácil de ejecutar el código paso a paso, una celda tras otra. Es importante tener en cuenta que el orden en el que ejecuta las celdas es el orden en el que jupyter notebook calcula y guarda las variables; por lo tanto, el orden de ejecución depende de usted, no del orden de las celdas en el documento. Eso significa que hace una diferencia, ya sea que ejecute las celdas de arriba hacia abajo una tras otra, o las mezcle (celda 1, luego celda 5, luego celda 2, etc.).
Los números a la izquierda de cada celda le muestran su orden de ejecución. Cuando un cálculo dura más, verá un asterisco en el lugar del número. Eso nos lleva al siguiente tema:
Reiniciar o interrumpir el kernel¶
A veces, los cálculos duran demasiado y desea interrumpir. Puede hacerlo haciendo clic en el “botón Detener” en la barra de herramientas. El “núcleo” de un cuaderno es el intérprete de python real que ejecuta su código. Hay un núcleo por cuaderno abierto (es decir, los cuadernos no pueden compartir datos o variables entre sí). En ciertas situaciones (por ejemplo, si se confundió sobre el orden de sus celdas y variables y desea un estado nuevo), es posible que desee reiniciar el núcleo. Puede hacerlo (así como otras opciones como borrar la salida de un cuaderno) en el menú “Kernel” en la barra superior de jupyterlab.
Errores en una celda¶
A veces, un fragmento de código en una celda no se ejecuta correctamente. ¡Esto les pasa a todos! Aquí hay un ejemplo:
# This will produce a "NameError"
test = 1 + 3
print(tesT)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Input In [9], in <cell line: 3>()
1 # This will produce a "NameError"
2 test = 1 + 3
----> 3 print(tesT)
NameError: name 'tesT' is not defined
Cuando una celda termina con un error, ¡no se asuste! Nada de lo que no podamos recuperarnos. En primer lugar, las otras celdas aún se ejecutarán (a menos que dependan de la salida de la celda que falla): es decir, su núcleo aún está activo. Si desea recuperarse del error, solucione el problema (aquí, un problema de vuelco) y vuelva a ejecutar la celda.
Visualización de gráficos con matplotlib¶
La herramienta de trazado más utilizada para Python es Matplotlib. Su sintaxis está inspirada en Matlab y puede resultar familiar para algunos:
# First we need the next line to tell the notebook: display plots in the notebook.
%matplotlib inline
# Now, we import matplotlib:
import matplotlib.pyplot as plt
# We import also the package called numpy (that helps us to play with numbers).
import numpy as np
# Let's plot something nice:
# Define a square function of x
x = np.linspace(-1, 1)
y = np.sqrt(1-x**2)
# Plot it.
plt.plot(x, y)
plt.title('My first plot in a notebook');

Parcelas interactivas con Bokeh¶
Bokeh es una biblioteca de trazado hecha para la web. Utiliza otra sintaxis que matplotlib y se puede utilizar para mostrar gráficos interactivos. En OGGM-Edu, a veces preferimos usar gráficos interactivos, ya que permiten explorar los datos después del gráfico. Aquí hay un ejemplo:
# hvplot is a plotting library relying on bokeh
# you'll need to install it alongside with pandas for this cell to work
import hvplot.pandas
# pandas is a very useful data analysis library
import pandas as pd
# This makes the plot
ts = pd.Series(index=x, data=y)
ts.hvplot().opts(title='An interactive plot', width=500)
Dar formato a su cuaderno con texto, títulos y fórmulas¶
La función predeterminada de una celda es ejecutar código, pero puede indicarle al cuaderno que formatee una celda como “texto” haciendo clic en la barra de menú en “Celda”, seleccione “Tipo de celda” \(\rightarrow\) “Markdown”. La celda actual ahora se transformará en un texto normal.
Una vez más, hay un atajo de teclado para esto: presione [Ctrl+m]
to enter in command mode and then [m]
to convert the active cell to text. The opposite (converting a text cell to code) se puede hacer con [Ctrl+m]
para entrar en el modo de comando y luego [y]
.
Como hemos visto, el editor de cuadernos tiene dos modos simples: el “modo comando” para navegar entre celdas y activarlas, y el “modo editar” para editar su contenido. Para editar una celda tienes dos opciones:
presione la celda
[enter]
on a selected (highlighted)haga doble clic en una celda (cualquier celda) ¡Ahora, intente editar la celda de abajo!
Una celda de texto tiene el formato Markdown, p. es posible escribir listas:
Objeto 1
artículo 2 Listas numeradas:
parte a
parte b Títulos con la sintaxis
#
(el número de#
que indica el nivel del título:
Este es un título de nivel 3 (con 3 símbolos #
)¶
Las fórmulas matemáticas se pueden escribir con la conocida notación Latex: $\( E = m c^2\)$ También puede escribir texto en negrita o cursiva.
Descargar un cuaderno¶
Los cuadernos de Jupyter se pueden descargar en varios formatos:
Cuaderno estándar (
*.ipynb
): un archivo de texto que solo es útil en el marco de JupyterPython (
*.py
): un script de Python que se puede ejecutar por separado.HTML (
*.html
): un archivo de texto html que se puede abrir en cualquier navegador web (¡no requiere python o jupyter!)… y una serie de otros formatos que pueden o no funcionar dependiendo de su instalación
Para descargar un cuaderno jupyter en formato de cuaderno (.ipynb
), seleccione el archivo en la barra lateral izquierda, haga clic con el botón derecho y seleccione “Descargar”. ¡Pruebalo ahora!
Para todos los demás formatos, vaya al menú “Archivo”, luego “Exportar libreta como…”
Llévate puntos a casa¶
Los cuadernos jupyter consisten en celdas, que pueden ser código o texto (no ambos)
uno puede navegar entre celdas en “modo de control” (
[ctrl+m]
) y editarlas en “modo de edición” ([ctrl+m]
)para ejecutar una celda, haz:
[shift+enter]
el orden de ejecución de las celdas sí importa
una celda de texto está escrita en formato de descuento, lo que permite un gran formato elegante
Estas fueron las características más importantes de jupyter-notebook. En la barra de menú del portátil, la pestaña “Ayuda” proporciona enlaces a la documentación. Los métodos abreviados de teclado se enumeran en el icono “Paleta” en la barra de herramientas del lado izquierdo. Además, hay más tutoriales on the Jupyter website. ¡Pero con los pocos comandos que aprendiste hoy, ya estás bien preparado para los experimentos de OGGM-Edu!
¿Que sigue?¶
xx_markdown_enlace_xx