es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo limpiar datos en formato de lista en un dataframe en Pandas

Tengo datos en Excel que estoy intentando limpiar en Python usando pandas. Hay casi 150 columnas y 10 de ellas tienen valores en formato de lista en las celdas. Ahora, al expandir y desplazar a filas, se multiplican por cada columna que estoy expandiendo y está aumentando innecesariamente el número de filas. También, no quiero desplazar los datos a columnas, ya que crearía casi 120 columnas adicionales según el conjunto de datos que tengo. Entonces, ¿hay alguna forma de limpiar este tipo de datos para poder cargarlos en un servidor SQL y aplicar consultas y realizar búsquedas y análisis más adelante?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una forma de limpiar este tipo de datos utilizando pandas en Python. Una opción es utilizar la función melt para desagrupar los datos, lo cual creará una nueva fila para cada valor de la lista. Luego, puedes utilizar groupby y apply para volver a agrupar las filas y agregar los valores en una lista. Esto evitará la multiplicación innecesaria de filas que puede ocurrir al utilizar explode o apply por separado en cada columna. Otra opción es utilizar la función applymap para aplicar una función personalizada a cada celda del dataframe, lo cual puede convertir los valores de la lista en una sola cadena u otro formato que sea más fácil de trabajar. Dependiendo de la estructura específica de los datos, puede haber otras técnicas que también se pueden utilizar.

Comments are closed.