Maison >développement back-end >Tutoriel Python >Comment puis-je diviser efficacement un grand DataFrame en DataFrames individuels par ID de participant ?
Diviser un DataFrame massif en DataFrames individuels par ID de participant
Considérez un scénario dans lequel vous possédez un DataFrame colossal contenant les données d'une expérience impliquant 60 participants. Votre objectif est de diviser ce volumineux DataFrame en 60 DataFrames distincts, chacun représentant un participant individuel. Une variable essentielle, « nom », identifie de manière unique chaque participant au sein du DataFrame.
Une tentative d'accomplir cette tâche à l'aide d'une fonction personnalisée, « splitframe », s'est avérée infructueuse, ce qui soulève la question d'une solution plus efficace.
Une approche supérieure : découpage de trames de données
Une stratégie alternative consiste à utiliser des techniques de découpage pour séparer le DataFrame. Voici comment :
Cette approche, utilisant le découpage, fournit une méthode plus simple et plus efficace pour créer des DataFrames individuels pour chaque participant :
# Create a DataFrame with a 'Names' column data = pd.DataFrame({ 'Names': ['Joe', 'John', 'Jasper', 'Jez'] * 4, 'Ob1': np.random.rand(16), 'Ob2': np.random.rand(16) }) # Extract unique participant names UniqueNames = data['Names'].unique() # Initialize a dictionary to store individual DataFrames DataFrameDict = {elem: pd.DataFrame() for elem in UniqueNames} # Populate the dictionary with individual DataFrames for key in DataFrameDict.keys(): DataFrameDict[key] = data[data['Names'] == key]
Accès aux DataFrames individuels
Pour accéder à un DataFrame spécifique pour un participant particulier, utilisez simplement la clé du dictionnaire correspondant au participant nom, comme démontré ci-dessous :
DataFrameDict['Joe']
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!