Pandas 2.0 est arrivé
Python Pandas 2.0 vient de sortir et voici ce qu'ils ont ajouté et amélioré (cela va changer beaucoup de choses)
Si vous travaillez dans l'industrie des données (ingénierie des données/science/ml), vous savez peut-être déjà ce qu'est Pandas
En ce qui concerne spécialement l'ingénierie des données, Pandas avait l'habitude de recevoir beaucoup de haine car il ne donne pas une performance optimale tout en travaillant avec un grand ensemble de données.
Pandas 2.0 est un pas dans cette direction, voici les 3 principales fonctionnalités
Opérations plus rapides et plus économes en mémoire
Ils ont ajouté la prise en charge de pyarrow dans le backend.
Le backend pyarrow est une nouvelle fonctionnalité de pandas 2.0 qui permet aux utilisateurs d'utiliser Apache Arrow comme format de stockage de données alternatif pour les pandas DataFrames et Series.
Cela signifie que lorsque vous lisez ou écrivez des fichiers Parquet dans pandas 2.0, il utilisera pyarrow par défaut pour gérer les données, ce qui se traduira par des opérations plus rapides et plus économes en mémoire.
Qu'est-ce qu'un pyarrow ?
Pyarrow est une bibliothèque qui fournit un format de mémoire en colonnes, qui est un moyen d'organiser les données qui facilite la lecture et le traitement en parallèle.
En résumé, l'utilisation du backend pyarrow dans pandas 2.0 peut entraîner des opérations de données plus rapides et plus économes en mémoire, en particulier lorsque vous travaillez avec de grands ensembles de données.
Optimisation de la copie sur écriture
Similaire à Spark et à la façon dont il exécute le code
Il s'agit d'une technique d'optimisation de la mémoire utilisée dans les pandas pour améliorer les performances et réduire l'utilisation de la mémoire lorsque vous travaillez avec de grands ensembles de données.
L'idée est que lorsque vous faites une copie d'un objet pandas, comme un DataFrame ou une série, au lieu de créer une nouvelle copie des données immédiatement, les pandas créeront une référence aux données d'origine et différeront la création d'une nouvelle copie jusqu'à ce que vous modifiiez le données d'une certaine manière.
Cela signifie que si vous avez plusieurs copies des mêmes données, elles peuvent toutes référencer la même mémoire jusqu'à ce que vous apportiez une modification à l'une d'entre elles. Cela peut réduire considérablement l'utilisation de la mémoire et améliorer les performances car vous n'avez pas besoin de faire des copies inutiles des données.
Dans l'ensemble, la copie sur écriture est une technique d'optimisation puissante qui peut vous aider à travailler avec de grands ensembles de données plus efficacement et avec moins de mémoire.
L'index peut maintenant contenir des types numériques NumPy
Résumé rapide : de meilleurs index, un accès et des calculs plus rapides
Détails :
Pandas 2.0 permet à Index de contenir n'importe quel dtype numérique NumPy, y compris int8, int16, int32, int64, uint8, uint16, uint32, uint64, float32 et float64.
Auparavant, seuls les types int64, uint64 et float64 étaient pris en charge.
Par conséquent, les opérations qui créaient auparavant des index 64 bits peuvent désormais créer des index avec des tailles de bits inférieures, comme les index 32 bits.
TL; DR
1. Ajout de pyarrow dans la sauvegarde, ce qui se traduit par des opérations plus rapides et plus économes en mémoire.
2. Optimisation de la copie sur écriture : similaire à Spark et à la manière dont il exécute le code
3. L'index peut désormais contenir des types numériques NumPy, ce qui accélère les opérations
Je vais également ajouter des tutoriels sur ces fonctionnalités dans mon cours Python for Data Engineering.
Si vous voulez tout savoir sur Python pour l'ingénierie des données, consultez
https://learn.datawithdarshil.com/courses/Python-for-Data-Engineering
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































