Combinando Notebooks y Scripts para Pandas
1. ¿Por qué combinar notebooks y scripts?
Los notebooks son excelentes para:
Exploración interactiva.
Visualización inmediata.
Explicaciones paso a paso.
Los scripts son mejores para:
Reutilizar código en múltiples proyectos.
Automatizar tareas.
Mantener versiones limpias sin celdas de prueba.
Combinarlos nos permite obtener lo mejor de ambos mundos.
2. Importar código de scripts en un notebook
Dentro del notebook puedes importar el contenido de tus scripts:
from procesamiento import limpiar_datos
from visualizacion import graficar
3. Mover código del notebook a un script
Si tu notebook comienza a llenarse de funciones, pásalas a un script:
Copia las funciones a un archivo
.py.Déjalas limpias, sin variables globales no necesarias.
Importa esas funciones en el notebook.
Esto mejora la organización y te permite ejecutar el código fuera del entorno interactivo.
4. Buenas prácticas
Mantén los notebooks para comunicar y los scripts para programar.
Usa nombres claros para módulos y funciones.
Añade documentación mínima en tus scripts.
Versiona los notebooks exportándolos a
.pyo limpiando las celdas.
5. Ejercicios Propuestos
Crea un fichero
limpieza.pycon la funciónreemplazar_por_media(df, columna). Usa la función en el dataframe propuesto y cambia elAvgBillde cada muestra por el valor medio de la columna.
[ ]:
import pandas as pd
df = pd.DataFrame([('Foreign Cinema', 'Restaurant', 289.0),
('Liho Liho', 'Restaurant', 224.0),
('500 Club', 'bar', 80.5),
('The Square', 'bar', 25.30)],
columns=('name', 'type', 'AvgBill')
)
#TODO
En
transformaciones.py, implementa funciones como:
crear_columna_ratio(df, num, den)filtrar_por_rango(df, columna, minimo, maximo)
Una vez implementadas añade un columna en el DataFrame del ejemplo anterior (con los valores originales) llamada comensal que contenga la información del número de personas por mesa, sus valores serán: [2,3,5,4]. Aplica las dos funciones anteriores con estas columnas.
[ ]:
#TODO
Isaac Lera and Miquel Miró Nicolau Universitat de les Illes Balears isaac.lera@uib.edu, miquel.miro@uib.edu