J'ai un très grand dataframe (environ 1 million de lignes) avec des données d'une expérience (60 répondants).
Je souhaite diviser le dataframe en 60 dataframes (un dataframe pour chaque participant).
Dans la trame de données, data
il existe une variable appelée 'name'
, qui est le code unique de chaque participant.
J'ai essayé ce qui suit, mais rien ne se passe (ou l'exécution ne s'arrête pas dans l'heure). Ce que j'ai l'intention de faire est de diviser le data
en plus petits dataframes, et de les ajouter à une liste ( 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
Je n'obtiens pas de message d'erreur, le script semble fonctionner pour toujours!
Y a-t-il une manière intelligente de le faire?