Tengo un marco de datos muy grande (alrededor de 1 millón de filas) con datos de un experimento (60 encuestados).
Me gustaría dividir el marco de datos en 60 marcos de datos (un marco de datos para cada participante).
En el marco de datos, data
hay una variable llamada 'name'
, que es el código único para cada participante.
He intentado lo siguiente, pero no pasa nada (o la ejecución no se detiene en una hora). Lo que pretendo hacer es dividir data
en marcos de datos más pequeños y agregarlos a una lista ( datalist
):
import pandas as pd
def splitframe(data, name='name'):
n = data[name][0]
df = pd.DataFrame(columns=data.columns)
datalist = []
for i in range(len(data)):
if data[name][i] == n:
df = df.append(data.iloc[i])
else:
datalist.append(df)
df = pd.DataFrame(columns=data.columns)
n = data[name][i]
df = df.append(data.iloc[i])
return datalist
No recibo un mensaje de error, ¡el script parece ejecutarse para siempre!
¿Existe una forma inteligente de hacerlo?