Tenho um dataframe muito grande (cerca de 1 milhão de linhas) com dados de um experimento (60 entrevistados).
Eu gostaria de dividir o dataframe em 60 dataframes (um dataframe para cada participante).
No dataframe,, data
há uma variável chamada 'name'
, que é o código exclusivo de cada participante.
Tentei o seguinte, mas nada acontece (ou a execução não para em uma hora). O que pretendo fazer é dividir data
em dataframes menores e anexá-los a uma 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
Não recebo uma mensagem de erro, o script simplesmente parece funcionar para sempre!
Existe uma maneira inteligente de fazer isso?