El IPython Notebook es ahora conocido como el Jupyter Notebook. Es un entorno computacional interactivo, en el que se pueden combinar ejecución de código, texto enriquecido, matemáticas, gráficos y contenidos multimedia [1].
El Open Notebook Science es la práctica de hacer que el registro primario completo de un proyecto de investigación este disponible públicamente, en línea y tal como está registrado. Esto consiste en colocar el notebook personal, de laboratorio o del investigador en línea junto con todos los datos crudos y procesados así como cualquier material asociado, tal como se genera este material. El enfoque puede resumirse por el lema "ninguna información privilegiada". Este es el extremo lógico de enfoques transparentes a la investigación e incluye explícitamente la puesta a disposición de experimentos inéditos fallidos, menos importantes y de otra índole; llamados "datos oscuros". La práctica de la ciencia del cuaderno abierto, aunque no es la norma de la comunidad académica, ha ganado considerable atención en la investigación reciente general, and peer-reviewed y de medios de comunicación revisados como parte de una tendencia general hacia enfoques más abiertos en la práctica de la investigación y publicación. La Ciencia del cuaderno abierto, por tanto, puede ser descrito como parte de un más amplio movimiento de ciencia abierta que incluye la promoción y adopción de la publicación de acceso abierto, datos abiertos, datos de crowdsourcing y ciencia ciudadana. Está inspirado en parte por el éxito del software de código abierto y se basa en muchas de sus ideas [2].
Una manera sencilla de probar Jupyter sin tenerlo instalado en la computadora es por medio de un servicio web gratuito:
Basicamente el notebook está compuesto por celdas [3]. Hay algunos tipos de celdas:
En la celda de texto podemos utilizar formatación con Markdown. Ej:
**negrito**;
*itálico*;
***negrito y itálico***;
A parte de formatación de texto, con Markdown podemos inserir imágenes:
![Jupyter Logo](http://jupyter.org/assets/nav_logo.svg)
print(a+b)
Los comando mágicos de Jupyter son comando própios del entorno Jupyter, y empiezan por % o %%.
Ejemplo de algunos comandos mágicos [4]:
In [2]:
a = 1
b = 2.2
c = 3
d = 'a'
In [3]:
%who
In [4]:
def f1(n):
for x in range(n):
pass
In [5]:
%%time
f1(100)
In [6]:
%%timeit
f1(100)
In [7]:
%%bash
ls -lah
In [8]:
import pandas as pd
df = pd.read_csv('data/kaggle-titanic.csv')
In [9]:
df.head()
Out[9]:
In [10]:
df.info()
In [11]:
df.describe()
Out[11]:
In [13]:
from matplotlib import pyplot as plt
In [15]:
df.Survived.value_counts().plot(kind='bar')
plt.show()
In [16]:
import pixiedust
In [18]:
display(df)
In [19]:
import numpy as np
In [20]:
π = np.pi
In [21]:
def show_wave(A, f, φ):
ω = 2*π*f
t = np.linspace(0, 1, 10000)
f = A*np.sin(ω*t+φ)
plt.grid(True)
plt.plot(t, f)
plt.show()
In [23]:
show_wave(A=5, f=5, φ=2)
In [24]:
import ipywidgets as widgets
from IPython.display import display
In [25]:
params = dict(value=1, min=1, max=100, step=1, continuous_update=False)
wA = widgets.IntSlider(**params)
wf = widgets.IntSlider(**params)
wφ = widgets.IntSlider(value=0, min=0, max=10, step=1, continuous_update=False)
widgets.interact(show_wave, A=wA, f=wf, φ=wφ);
Para más informaciones sobre ipywidgets, consulte el manual de usuario [6].
Para ver la documentación de una determinada función o clase puedes ejecutar el comando:
?str.replace()
Este comando abrirá una sección en la página con la documentación deseada.
Otro modo de ver la documentación es usando la función help, ej.:
help(str.replace)
In [26]:
?str.replace()
In [27]:
help(str.replace)
Con Jupyter Notebook, también se puede escribir en las celdas de texto en formato LaTeX.
Por ejemplo:
$$
\begin{equation}
\omega = \alpha + \beta + \sum_{n=1}^{\infty} 2^{-n}
\end{equation}
$$
Y su resutado es:
$$ \begin{equation} \omega = \alpha + \beta + \sum_{n=1}^{\infty} 2^{-n} \end{equation} $$Para más informaciones sobre el uso de LaTeX en Jupyter, pueden ver en [6].
Para utilizar Jupyter notebook, necesitamos instalarlo. La mejor manera para instalar librerías es hacerlo en un entorno separado (del entorno python del sistema operativo). Una distribución Python que está enfocada en temas científicos es Anaconda y se puede bajar su instalador en https://www.continuum.io/downloads [7].
En el entorno principal (root) de Anaconda, Jupyter ya viene instalado. Caso empiecemos un entorno nuevo, podemos instalar Jupyter con el comando:
conda install jupyter
Tutoriales