Maison > développement back-end > Tutoriel Python > Comment puis-je diviser efficacement un grand DataFrame Pandas en DataFrames plus petits en fonction des identifiants des participants ?

Comment puis-je diviser efficacement un grand DataFrame Pandas en DataFrames plus petits en fonction des identifiants des participants ?

DDD
Libérer: 2024-12-17 11:09:25
original
668 Les gens l'ont consulté

How Can I Efficiently Split a Large Pandas DataFrame into Smaller DataFrames Based on Participant IDs?

Diviser de grandes trames de données en trames de données plus petites

Problème :

Vous disposez d'une trame de données massive avec plus d'un million d'enregistrements représentant des données à partir d'une expérience avec 60 participants. Chaque participant dispose d'un code unique stocké dans la variable 'name' du dataframe. Votre objectif est de diviser le dataframe en 60 dataframes plus petits, un pour chaque participant.

Tentative originale :

Votre approche initiale pour y parvenir via une fonction personnalisée appelée splitframe n'a pas abouti. Cela ne donne pas de résultats dans l'heure suivant l'exécution. La fonction visait à parcourir le dataframe, en ajoutant de manière itérative des lignes à des dataframes plus petits et en les ajoutant à une liste jusqu'à ce qu'un nouveau participant soit identifié, auquel cas elle créerait un nouveau dataframe pour le participant suivant.

Solution utilisant le Dataframe Slicing :

Au lieu de diviser le dataframe de manière itérative, vous pouvez utiliser une approche plus efficace en utilisant le dataframe trancher. Voici comment procéder :

import pandas as pd

# Create a list of unique participant names
unique_names = data['name'].unique()

# Initialize a dictionary to store the split dataframes
data_dict = {}

# Iterate over the unique names
for name in unique_names:
    # Create a new dataframe by slicing the original dataframe
    data_dict[name] = data[data['name'] == name]
Copier après la connexion

Résultat :

Ce code créera un dictionnaire appelé data_dict. Chaque clé du dictionnaire représente un nom de participant et la valeur correspondante est une trame de données pandas contenant toutes les données de ce participant particulier. Vous pouvez accéder au dataframe de chaque participant en utilisant la syntaxe suivante :

participant_data = data_dict['ParticipantName']
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal