Splitting Data into Chunks
Glissez pour afficher le menu
La gestion de grands ensembles de données qui ne peuvent pas tenir en mémoire en une seule fois nécessite une approche différente de celle qui consiste simplement à charger l'intégralité du fichier. Lorsque vous essayez de charger un fichier CSV volumineux dans pandas avec la fonction classique read_csv, vous pouvez rencontrer des erreurs de mémoire ou des ralentissements importants. Pour éviter cela, il est possible de diviser les données en morceaux plus petits et plus faciles à gérer, puis de traiter chaque partie indépendamment. Cette technique est particulièrement utile dans des situations telles que :
- Analyse de grands fichiers journaux ;
- Traitement d'exports de données provenant de bases de données ;
- Manipulation de séries temporelles collectées sur de longues périodes.
Diviser les données en morceaux permet de ne traiter qu'une petite partie de l'ensemble à la fois, ce qui réduit l'utilisation de la mémoire et permet de travailler efficacement même sur du matériel modeste. Par exemple, si vous devez calculer des statistiques ou filtrer des lignes dans un fichier contenant des millions d'enregistrements, la lecture par morceaux permet de traiter chaque partie et, si nécessaire, d'agréger les résultats au fur et à mesure. Cette approche est également utile pour intégrer des données en flux continu dans un pipeline de machine learning ou effectuer un nettoyage de données incrémental.
1234567891011import pandas as pd # Assume 'large_file.csv' is a very large CSV file url = "https://content-media-cdn.codefinity.com/b8f3c268-0e60-4ff0-a3ea-f145595033d8/section1/large_file.csv" chunk_size = 100 # Number of rows per chunk # To read.csv() from directory you use same syntax for chunk in pd.read_csv(url, chunksize=chunk_size): # Count rows in this chunk print("Chunk has", len(chunk), "rows")
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion