Maison > développement back-end > Tutoriel Python > Comment puis-je parcourir efficacement de grands ensembles de données en Python à l'aide de morceaux ?

Comment puis-je parcourir efficacement de grands ensembles de données en Python à l'aide de morceaux ?

Linda Hamilton
Libérer: 2024-11-28 13:25:11
original
208 Les gens l'ont consulté

How Can I Efficiently Iterate Through Large Datasets in Python Using Chunks?

Itérer efficacement les itérateurs en Python à l'aide de morceaux

Lorsque vous travaillez avec de grands ensembles de données, il devient nécessaire de traiter les données en lots ou en morceaux plus petits. Cela permet de gérer l’utilisation de la mémoire et d’améliorer les performances. Une façon d'y parvenir consiste à utiliser les itérateurs de Python pour diviser les données en morceaux de la taille souhaitée.

La recette du groupeur

Dans la documentation itertools, le grouper() La recette fournit un moyen pratique de regrouper les données en morceaux de longueur fixe. Cependant, il peut ne pas gérer les morceaux incomplets comme vous le souhaitez.

La recette par lots

Un ajout plus récent aux recettes itertools est la fonction batched(). Il excelle dans le regroupement de données en tuples de longueur spécifiée. Contrairement à grouper(), batched() gère explicitement les morceaux incomplets, renvoyant un lot plus court sans exceptions ni valeurs de remplissage.

Solution spécifique à la séquence

Si vous travaillez uniquement avec des séquences, vous pouvez utiliser une approche plus simple :

(my_list[i:i + chunk_size] for i in range(0, len(my_list), chunk_size))
Copier après la connexion

Cette solution préserve le type de la séquence d'origine et gère gracieusement le dernier chunk.

Python 3.12 et itertools.batched

Dans Python 3.12 et supérieur, itertools.batched peut être utilisé directement. Elle offre les mêmes fonctionnalités que la recette batched() :

itertools.batched(iterable, n)  # Batch data into tuples of length n
Copier après la connexion

Conclusion

Le choix de la méthode appropriée dépend de vos besoins spécifiques et de la version de Python que vous utilisez en utilisant. Pour un traitement par lots général et flexible, la recette batched() ou itertools.batched de Python 3.12 est recommandée. Pour les tâches spécifiques à une séquence, la solution basée sur la séquence offre simplicité et préservation du type.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal