df = df.groupby(df.index).sum()
Tengo un dataframe con 3.8 millones de filas (una sola columna), y estoy tratando de agruparlos por índice. Pero lleva una eternidad terminar el cómputo. ¿Hay formas alternativas de tratar con un conjunto de datos muy grande? ¡¡¡¡Gracias por adelantado!!!!
Estoy escribiendo en Python.
Los datos se ven como abajo. El índice es la identificación del cliente. Quiero agrupar el qty_liter
por el Index
.
df = df.groupby(df.index).sum()
Pero esta línea de código está tomando demasiado tiempo …
La información sobre este df está abajo:
df.info()
Index: 3842595 entries, -2147153165 to \N Data columns (total 1 columns): qty_liter object dtypes: object(1) memory usage: 58.6+ MB
El problema es que sus datos no son numéricos. Procesar cadenas lleva mucho más tiempo que procesar números. Prueba esto primero
df.index = df.index.astype(int) df.qty_liter = df.qty_liter.astype(float)
Entonces haz groupby()
otra vez. Debería ser mucho más rápido. Si es así, vea si puede modificar su paso de carga de datos para tener los tipos adecuados desde el principio.