Introducción al análisis de datos en Python con Numpy

Trabajando con jupyter

A partir de esta lección vamos a empezar a meternos de lleno en numpy y por ello vamos a empezar a usar los blocs y celdas de jupyter en Visual Studio Code.

Usar jupyter nos permite generar mejores ejemplos y reportes, ya que podemos crear y mostrar tablas y gráficos. Además es posible exportar estos blocs para compartirlos con otros usuarios, por ejemplo a través de Github y Google Drive.

Cada bloc se estructura en celdas y para definir una usaremos la sintaxis:

# %%

Todo lo que viene después hasta encontrar otra celda podemos ejecutarlo independientemente.

Además una ventaja de usar las celdas es que no necesitamos usar print para mostrar el último dato, se muestra por defecto:

# %%
import numpy as np
np.array([1, 2, 3, 4, 5])
array

Al ejecutar una celda (podemos usar el accesor Control+Enter), su contexto queda guardado en la memoria de jupyter, lo que nos permite reutilizar variables de una celda en otras como si fuera un script ejecutándose de arriba abajo:

# %%
import numpy as np
array = np.array([1, 2, 3, 4, 5])

# %%
array

Sin embargo esto sólo funciona si préviamente hemos ejecutado la otra celda. Si reiniciamos el kernel (botón de flecha girando), al ejecutar de nuevo la segunda celda veremos que no encuentra la definición de nuestro array, tendremos que ejecutar la celda anterior que es donde tenemos definida esa variable para poder utilizarla.

Podemos ver en todo momentos las variables que hay en la memoria del bloc desplegando el botón superior variables.

Uso de markdown

Para realizar reportes podemos activar el uso de código markdown en las celdas, si no conocéis este lenguaje os animo a aprenderlo, es muy sencillo, hagamos un ejemplo:

# %% [markdown]
# # Esto es un título
# ## Esto es un subtítulo
# Esto es un parágrafo con __negritas__ y _cursivas_.

Dentro de una cleda con markdown podemos ejecutar código, pero perdemos la capacidad de mostrar automáticamente el último dato.

Tablas y gráficos

Os comenté que podemos mostrar gráficos y tablas, para ello se utilizan las bibliotecas matplotlib y pandas respectivamente. Las trataremos en futuros cursos, pero vamos a hacer un ejemplo para que veáis como el resultado:

# %%
import numpy as np
import pandas as pd

tabla = pd.DataFrame(
    np.random.randint(
        0, 100, size=(4, 3)
    ),
    columns=['Pepe', 'María', 'Juan']
)

tabla

En este fragmente estamos haciendo uso de los dataframes de pandas para manejar una tabla generada a partir de un array con valores aleatorios creado con numpy.

¿Véis lo que os decía sobre cómo se complementan entre ellas?

Con los gráficos pasa lo mismo, podemos dibujar la tabla usando matplotlib completando así el ciclo del análisis:

# %%
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

tabla = pd.DataFrame(
    np.random.randint(
        0, 100, size=(4, 3)
    ),
    columns=['Pepe', 'María', 'Juan']
)

tabla.plot()
plt.show()

Pero no nos adelantemos... para llegar a todo esto primero tenemos que aprender a usar numpy y ya en el próximo curso nos pondremos con matplotlib y los gráficos.

Exportando un bloc

Lo último que vamos a ver es cómo exportar un bloc para compartir nuestros reportes con todo el mundo.

Sólo tenemos que presionar el botón para guardar el bloc en formato ipynb.

Plataformas como Google Drive y Github interpretarán automáticamente este formato para mostrar las celdas y sus contenidos, tablas y gráficos.