Maison >développement back-end >Tutoriel Python >Comment diviser efficacement un DataFrame d'un million de lignes en DataFrames plus petits par participant ?

Comment diviser efficacement un DataFrame d'un million de lignes en DataFrames plus petits par participant ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-03 01:31:11321parcourir

How to Efficiently Split a Million-Row DataFrame into Smaller DataFrames by Participant?

Diviser le DataFrame en plusieurs DataFrames

Lorsque vous traitez des ensembles de données volumineux, il peut être nécessaire de les diviser en morceaux plus petits pour un traitement efficace. Ceci peut être réalisé en divisant le DataFrame en fonction d'un identifiant unique, ce qui donne lieu à plusieurs DataFrames plus petits. Dans ce cas, l'objectif est de partitionner un DataFrame d'un million de lignes en 60 DataFrames plus petits, un pour chaque participant identifié par la variable « nom ».

Malheureusement, le code Python fourni pour diviser le DataFrame ne parvient pas à diviser le DataFrame. terminer la tâche. Au lieu de fonctionner indéfiniment, une approche alternative est recommandée en utilisant les capacités de découpage et d'indexation de Pandas. Voici le code modifié :

import pandas as pd

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

# Create a dictionary to store the DataFrames for each participant
participant_data = {name: pd.DataFrame() for name in unique_names}

# Populate the dictionary with sliced DataFrames for each participant
for name in unique_names:
    participant_data[name] = data[data['name'] == name]

Ce code découpe efficacement le DataFrame en fonction de la colonne « nom », créant des DataFrames distincts pour chaque participant tout en évitant les pièges du code précédent.

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!

Déclaration:
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