Codificación eficiente en ciencia de datos fácil depuración de operaciones encadenadas en Pandas
Codificación eficiente y fácil depuración de operaciones encadenadas en Pandas en la ciencia de datos
PROGRAMACIÓN EN PYTHON
Cómo inspeccionar marcos de datos de Pandas en operaciones encadenadas sin romper la cadena en declaraciones separadas
Depurar está en el corazón de la programación. Escribí sobre esto en el siguiente artículo:
¿Bugs en Python? ¡Pdb Al Rescate!
¿Vale la pena aprender y usar el depurador Pdb?
towardsdatascience.com
Esta afirmación es bastante general y no depende del lenguaje ni de un marco de trabajo específico. Cuando usas Python para análisis de datos, necesitas depurar código independientemente de si estás realizando análisis de datos complejos, escribiendo un producto de software de aprendizaje automático o creando una aplicación Streamlit o Django.
- Google AI presenta AltUp
- Detecta contenido perjudicial utilizando la detección de toxicidad de Amazon Comprehend
- El Lado Oscuro de la IA – ¿Cómo pueden ayudar los creadores?!
Este artículo discute cómo depurar código de Pandas, o más bien un escenario específico de depuración de código de Pandas en el que las operaciones están encadenadas en una tubería. Esta depuración plantea un problema desafiante. Cuando no sabes cómo hacerlo, las operaciones encadenadas de Pandas parecen ser mucho más difíciles de depurar que el código regular de Pandas, es decir, las operaciones individuales de Pandas utilizando la asignación típica con corchetes.
Para depurar código regular de Pandas utilizando la asignación típica con corchetes, es suficiente agregar un punto de interrupción de Python y utilizar el depurador interactivo pdb
. Sería algo como esto:
>>> d = pd.DataFrame(dict(... x=[1, 2, 2, 3, 4],... y=[.2, .34, 2.3, .11, .101],... group=["a", "a", "b", "b", "b"].. ))>>> d["xy"] = d.x + d.y>>> breakpoint()>>> d = d[d.group == "a"]
Desafortunadamente, no puedes hacer eso cuando el código consiste en operaciones encadenadas, como aquí:
>>> d = d.assign(xy=lambda df: df.x + df.y).query("group == 'a'")
o, dependiendo de tu preferencia, aquí:
>>> d = d.assign(xy=d.x + d.y).query("group == 'a'")
En este caso, no hay un lugar para detenerse y ver el código, solo puedes hacerlo antes o después de la cadena. Por lo tanto, una de las soluciones es dividir la cadena principal en dos subcadenas (dos tuberías) en un…
We will continue to update Zepes; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Modelando el Problema del Viajante de Comercio desde los principios fundamentales
- Todo lo que necesitas saber para desarrollar usando modelos de lenguaje grandes
- Una introducción al Deep Learning para datos secuenciales
- Buscar semántica moderna para imágenes
- Todo lo que necesitas para convertirte en un Ingeniero Certificado de Aprendizaje Automático de SAS
- Gestión de modelos para los modelos afinados de LoRA utilizando Llama2 y Amazon SageMaker
- Utilizar modelos de lenguaje grandes en la detección de noticias falsas