Pandas, la bibliothèque d'analyse de données pour Python, a finalement atteint le stade de release candidate. Cette version 1.0 se déleste de la plupart des fonctionnalités obsolètes et nécessite Python 3.6 ou supérieur. Pandas a été créé pour faciliter le travail avec les données de formats structurés, comme des tableaux, des matrices et des données de séries temporelles. La bibliothèque supplante une grande partie des fonctions des dataframes de R, et fonctionne bien avec d'autres bibliothèques de calcul scientifique de l’environnement Python. Pour cette version, les créateurs de Pandas ont opté pour plusieurs changements radicaux, en préparation depuis un certain temps déjà. Voici les plus importants.

Python 3.6.1 ou supérieur requis

Le plus grand changement de Pandas 1.0 concerne l'abandon du support de toutes les versions Python antérieures à Python 3.6.1. Depuis 2019, Pandas ne supportait plus Python 2 et requérait exclusivement Python 3. Cette restriction ne fait qu’affiner la politique existante. Le projet adopte aussi une autre politique de support pour les futures versions de Pandas. L’abandon du support d’une fonction dans une version de Python sera répercuté dans les prochaines versions majeures de Pandas (2.0, 3.0, etc.). Les versions mineures déprécieront des fonctionnalités, mais ne les supprimeront pas. Et les versions majeures supprimeront des fonctionnalités.

Une nouvelle valeur NA

Les versions antérieures de Pandas utilisaient différents types pour représenter les données manquantes, en fonction du type de conteneur - un pour les types de date et d'heure, un pour les objets, etc. Tous ces types sont en cours de fusionnement en un seul type de données manquantes appelé NA. Actuellement, le support de NA est limité à quelques types d'objets, et il est considéré comme expérimental. Il ne devrait donc pas être utilisé en production pour l’instant.

Incompatibilités avec les API

En raison du nombre de modifications apportées à Pandas 1.0, certaines API de Pandas sont désormais incompatibles avec la version précédente. Cela inclut des changements dans le comportement de nombreux éléments communs, et en particulier : le type DataFrame ; pandas.array ; arrays.IntegerArray. La plupart de ces incompatibilités seront signalées par des alertes, mais les auteurs conseillent de tester les scripts Pandas existants côte à côte avec leurs équivalents Pandas 1.0 pour voir comment ils fonctionnent.

Fonctionnalités dépréciées dans Pandas 1.0

La documentation de Pandas liste toutes les fonctionnalités qui seront dépréciées, mais pas supprimées, dans Pandas 1.0. Certaines d'entre elles ont simplement été renommées ou réorganisées, comme le module de test, alors que d'autres modifient l’usage de certains paramètres de fonction. Parfois, comme avec Series.item() et Index.item(), les fonctionnalités ont été épargnées par la dépréciation et continueront à être disponibles. Si vous utilisez une version de Pandas antérieure à la version 0.25, ses créateurs recommandent de migrer d'abord vers Pandas 0.25, de vous assurer que tout le code dépendant de Panda se comporte comme prévu, puis de migrer vers Pandas 1.0. Cela permet de vérifier que tout code utilisant des fonctionnalités obsolètes sera marqué.

Fonctionnalités supprimées dans Pandas 1.0

Certaines fonctionnalités clés de Pandas ont été totalement supprimées. C’est le cas de SparseSeries et SparseDataFrame. À la place, il faut utiliser Series ou DataFrame avec l'option sparsevalues. C’est aussi le cas de l’enregistrement des unités Matplotlib, afin d'éviter que Matplotlib ne soit affecté quand on importe Pandas. De nombreuses autres fonctionnalités, auparavant obsolètes, ont également été supprimées. C'est une autre bonne raison de tester la version candidate de Pandas 1.0 côte à côte avec votre installation Pandas existante, pour vérifier que vos scripts se comportent comme prévu.

Installation de Pandas 1.0

Il est possible d’installer Pandas 1.0 directement dans Python en passant par le gestionnaire de paquets Pip, et en tapant « pip install pandas ». Pandas 1.0 est également inclus dans la distribution Anaconda Python pour le calcul scientifique. Dans tous les cas, il est préférable d'installer Pandas dans un environnement virtuel, notamment si vous voulez tester les scripts Pandas 1.0 côte à côte avec leurs équivalents des versions antérieures.