Accéder au contenu principal

Pandas 2.0 : quoi de neuf et nos meilleurs conseils

Plongez dans pandas 2.0, la dernière mise à jour de la bibliothèque d’analyse de données, avec des nouveautés comme l’intégration PyArrow, les types annulables et des datetimes non nanosecondes pour des performances et une efficacité accrues.
Actualisé 18 sept. 2026  · 9 min lire

Explorer avec l’IA

ChatGPTClaudePerplexity

L’analyse de données repose souvent sur l’incontournable bibliothèque pandas. Elle fournit des structures de données conviviales et des fonctions de manipulation qui facilitent la gestion efficace de jeux de données tabulaires. Avec pandas, vous pouvez facilement importer, nettoyer, transformer et agréger des données issues de diverses sources, notamment des fichiers CSV, des feuilles Excel, des bases SQL, et plus encore.

Si vous souhaitez apprendre à importer et nettoyer des données, calculer des statistiques et créer des visualisations avec pandas, consultez notre cours Data Manipulation with pandas.

Dans ce tutoriel, nous allons découvrir la toute dernière version de la bibliothèque pandas, avec des exemples concrets d’utilisation de ses nouveautés.

La mise à jour tant attendue pandas 2.0 est enfin là

Pandas 2.0 est sorti le 3 avril 2023, après trois années de développement. Cette version apporte de nombreuses fonctionnalités, comme un meilleur support des tableaux d’extension, la prise en charge de PyArrow pour les DataFrames et une résolution datetime autre que la nanoseconde. Elle introduit toutefois des dépréciations appliquées, impliquant des changements d’API.

En tant que mise à jour majeure, la version 2.0 met en œuvre toutes les dépréciations de la branche 1.X. La version 1.5.3 comptait environ 150 avertissements. Si votre code ne génère plus d’avertissements en 1.X, il devrait être compatible avec la 2.0.

Tour d’horizon des nouveautés de pandas 2.0

Voyons ce qui change avec pandas 2.0, et comment exploiter certaines des améliorations.

Performances en hausse : opérations plus rapides et moins gourmandes en mémoire

PyArrow est sans doute la caractéristique phare de cette version.

Pandas a été conçu à l’origine sur des structures NumPy pour la gestion mémoire, mais vous pouvez désormais choisir PyArrow comme format mémoire sous-jacent.

PyArrow est une bibliothèque Python (basée sur Arrow) qui fournit une interface pour manipuler de grands volumes de données avec les structures mémoire Arrow, ainsi que des outils de sérialisation, de compression et d’intégration avec d’autres systèmes de traitement de données comme Apache Spark et Apache Parquet.

Arrow est un format de données colonnaire, open source et indépendant du langage, pour représenter les données en mémoire. Il est écrit en C++, mais reste agnostique du langage.

L’inefficience mémoire du backend NumPy historique pousse souvent les utilisateurs vers d’autres outils de traitement, tels que Spark, Dask, Ray, etc. En réduisant la consommation mémoire grâce au backend PyArrow, pandas peut désormais offrir une expérience plus fluide et vous permettre de travailler plus efficacement.

Benchmarks comparant les opérations mean et replace avec les backends NumPy et PyArrow, aux côtés de Polars 

Graphique pandas

Polars est une bibliothèque de manipulation de données en Rust pour Python, proposant une API DataFrame proche de celle de pandas, mais avec des performances et une scalabilité accrues pour les grands volumes de données. Pour en savoir plus sur Polars, consultez le site officiel.

Voici un extrait de code pour lire un fichier CSV en utilisant PyArrow comme backend :

pd.read_csv(my_file, dytpe_backend='pyarrow')

Si vous souhaitez apprendre des techniques efficaces avec pandas pour optimiser votre code Python, consultez sur DataCamp le cours Writing Efficient Code with pandas.

Les types de données annulables sont désormais possibles

La gestion des valeurs manquantes dans pandas a longtemps été délicate à cause du manque de prise en charge des valeurs nulles par NumPy pour certains types. Par exemple, les dtypes entiers de NumPy n’acceptent pas les valeurs nulles. Lorsqu’une valeur nulle apparaissait dans une colonne entière, celle-ci était automatiquement convertie en dtype flottant, ce qui n’est pas idéal.

Pandas 1.0 a introduit des dtypes « annulables », mais leur utilisation demandait des efforts. Bonne nouvelle : dans la dernière version, lors de la lecture des données dans un DataFrame, vous pouvez indiquer l’usage de dtypes annulables, ce qui simplifie grandement les choses.

pd.read_csv(my_file, use_nullable_dtypes=True)

Amélioration des performances avec le Copy-on-Write

Le Copy-on-Write est une technique d’optimisation mémoire utilisée par pandas pour améliorer les performances et réduire l’usage mémoire lors du traitement de grands jeux de données. Elle rapproche pandas de Spark dans la manière d’exécuter des opérations paresseuses. Les opérations « paresseuses » n’exécutent pas immédiatement les calculs : elles attendent qu’une action les déclenche pour produire le résultat final.

Le principe consiste à créer une référence vers les données originales lorsqu’on réalise une copie d’un objet pandas (DataFrame ou Series), et à matérialiser une nouvelle copie uniquement en cas de modification.

Cette approche permet à plusieurs copies d’accéder à la même zone mémoire tant qu’aucun changement n’est apporté, évitant des duplications inutiles et réduisant significativement l’empreinte mémoire, donc améliorant les performances.

Types numériques NumPy pris en charge par Index

Dans pandas 2.0, la fonctionnalité Index a été étendue aux dtypes numériques NumPy comme int8, int16, int32, uint8, uint16, uint32, uint64, float32 et float64, alors qu’auparavant seuls int64, uint64 et float64 étaient pris en charge.

Cette mise à jour permet de créer des index avec des tailles de bits plus faibles, par exemple des index 32 bits, dans des opérations qui produisaient auparavant des index 64 bits.

Tous les index numériques sont désormais représentés comme des Index avec un dtype associé.

Installation des extras pip

En spécifiant des « extras » lors de l’installation de pandas via pip, vous pouvez ajouter des dépendances optionnelles. Par exemple :

pip install "pandas[performance, aws]>=2.0.0"

Cela installera les dépendances optionnelles performance et aws. Le guide d’installation de pandas fournit la liste des extras disponibles : [all, performance, computation, fss, aws, gcp, excel, parquet, feather, hdf5, spss, postgresql, mysql, sql-other, html, xml, plot, output_formatting, clipboard, compression, et test] N’oubliez pas d’ajouter les guillemets (« »).

Résolution non nanoseconde pour les timestamps

Pendant longtemps, pandas ne représentait les timestamps qu’à la résolution nanoseconde. Conséquence : impossible de représenter des dates antérieures au 21 septembre 1677 ou postérieures au 11 avril 2264. Une contrainte gênante pour l’analyse de séries temporelles sur de longues périodes.

Avec pandas 2.0, d’autres résolutions sont prises en charge, comme la seconde, la milliseconde et la microseconde. Cette amélioration ouvre des plages temporelles jusqu’à +/- 2,9e11 années, couvrant la plupart des cas d’usage.

Analyse cohérente du format des datetimes

Auparavant, la fonction to_datetime() de pandas déduisait le format de chaque élément indépendamment, ce qui pouvait poser problème lorsque l’on attendait un format cohérent, mais que la fonction alternait entre formats d’un élément à l’autre.

Si cette approche convenait aux jeux de données aux formats de date mixtes, elle a causé des difficultés à de nombreux utilisateurs.

Dans pandas 2.0, l’analyse utilise un format cohérent déterminé par la première valeur non-NA. Vous pouvez toujours préciser un format, auquel cas celui-ci sera utilisé.

Ancien comportement :

ser = pd.Series(['13-01-2000', '12-01-2000'])
pd.to_datetime(ser)
Out[2]:
0   2000-01-13
1   2000-12-01
dtype: datetime64[ns]

Nouveau comportement :

ser = pd.Series(['13-01-2000', '12-01-2000'])

pd.to_datetime(ser)
Out[43]: 
0   2000-01-13
1   2000-01-12
dtype: datetime64[ns]

Exemples reproduits depuis la documentation officielle.

Compatibilité et migration

Les changements d’API non rétrocompatibles désignent les modifications d’une API susceptibles de casser du code existant ou des intégrations. Cela peut inclure la suppression ou le renommage de fonctions, classes ou paramètres, ou la modification de leur comportement attendu. Consultez la liste complète des breaking changes de pandas 2.0 dans la documentation des changements d’API non rétrocompatibles.

Pour mettre à jour la bibliothèque pandas, exécutez simplement cette commande dans votre terminal ou votre notebook :

pip install -U pandas

Communauté et support

Parcourez l’intégralité des notes de version de pandas 2.0.

Vous pouvez également utiliser notre cheatsheet pandas pour la data science comme guide rapide des bases de la bibliothèque Python d’analyse de données, avec des exemples de code.

Cheatsheet Python pour la data science

Cheatsheet de DataCamp. Source

Élaboré par un large groupe de contributeurs et une petite équipe de mainteneurs, pandas est un projet open source porté par sa communauté. L’équipe dirigeante s’engage à construire une communauté positive, inclusive et ouverte. Pour participer, consultez le guide de la communauté des contributeurs de pandas.

Conclusion

Pandas 2.0 constitue une mise à jour majeure de la bibliothèque d’analyse de données, avec des nouveautés telles que de meilleures performances via PyArrow, des types de données annulables, l’optimisation Copy-on-Write, un support élargi des types numériques NumPy dans les index, et une résolution datetime au-delà de la nanoseconde.

Avec cette version, pandas gère des jeux de données plus volumineux avec une utilisation mémoire plus efficiente, pour une expérience plus fluide.

Pour profiter de ces nouveautés, mettez simplement à jour votre bibliothèque avec la commande pip install -U pandas. La communauté pandas continue de proposer support et ressources, notamment des cours sur DataCamp, pour vous aider à développer vos compétences en analyse de données.

Voici quelques excellents tutoriels pour progresser en analyse de données :

Sujets
Python
Analyse des données

Les meilleurs cours sur pandas

Cours

Manipulation de données avec pandas

4 h
564.3K
Apprenez à importer et nettoyer des données, calculer des statistiques et créer des visualisations avec pandas.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow