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:

  1. Copia las funciones a un archivo .py.

  2. Déjalas limpias, sin variables globales no necesarias.

  3. 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 .py o limpiando las celdas.


5. Ejercicios Propuestos

  1. Crea un fichero limpieza.py con la función reemplazar_por_media(df, columna). Usa la función en el dataframe propuesto y cambia el AvgBill de 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
  1. 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

License: CC BY 4.0 Isaac Lera and Miquel Miró Nicolau Universitat de les Illes Balears isaac.lera@uib.edu, miquel.miro@uib.edu