Maison >développement back-end >Tutoriel Python >Comment puis-je diviser efficacement un DataFrame Pandas en DataFrames spécifiques aux participants ?
Diviser le dataframe en dataframes spécifiques aux participants
Vous disposez d'un grand dataframe avec les données de 60 répondants et vous cherchez un moyen de le diviser en des dataframes individuelles pour chaque participant. Le code unique de chaque participant est stocké dans une variable appelée « nom ».
Au départ, vous avez tenté d'utiliser une fonction personnalisée pour ajouter des trames de données basées sur la variable « nom », mais l'exécution a pris un temps inhabituellement long. .
Une approche plus efficace consiste à utiliser le découpage dans Pandas DataFrame. Le code suivant fournit une solution :
import pandas as pd import numpy as np # Create sample data with a 'Names' column data = pd.DataFrame({'Names': ['Joe', 'John', 'Jasper', 'Jez'] * 4, 'Ob1': np.random.rand(16), 'Ob2': np.random.rand(16)}) # Create a unique list of names UniqueNames = data.Names.unique() # Create a dictionary to store the split dataframes DataFrameDict = {elem: pd.DataFrame() for elem in UniqueNames} # Iterate through UniqueNames and slice the original data for key in DataFrameDict.keys(): DataFrameDict[key] = data[data.Names == key] # Access a specific dataframe using its name specific_dataframe = DataFrameDict['Joe']
Cette approche crée rapidement des trames de données individuelles pour chaque participant, la colonne « Noms » étant utilisée pour le découpage. Les dataframes résultantes sont organisées dans un dictionnaire, DataFrameDict, permettant un accès facile.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!