Pandas 1.0 apporte de grands changements de rupture

Pandas, la bibliothèque d'analyse de données pour Python, a finalement atteint une version 1.0 candidate. Pandas 1.0 supprime de nombreuses fonctionnalités obsolètes et nécessite Python 3.6 ou supérieur. 

Pandas a été créé pour travailler facilement avec des données dans des formats structurés, tels que des tableaux, des matrices et des séries chronologiques. Pandas éclipse une grande partie des fonctionnalités des dataframes de R et fonctionne bien avec d'autres bibliothèques de calcul scientifique dans le monde Python.

Avec Pandas 1.0, les créateurs de Pandas introduisent une série de changements de rupture qui sont en préparation depuis un certain temps maintenant. Voici un aperçu des plus importants et comment les gérer à l'avenir.

Pandas nécessite Python 3.6.1 ou supérieur

Le plus gros changement dans Pandas 1.0 est la suppression de la prise en charge de toutes les versions de Python antérieures à Python 3.6.1. Pandas a abandonné le support pour Python 2 et s'est engagé exclusivement sur Python 3 à partir de 2019, il s'agit donc principalement d'un raffinement d'une politique existante.

Le projet a également une nouvelle politique de support pour les futures versions de Pandas. Toute baisse de support pour une version de Python sera déployée dans les nouvelles versions majeures de Pandas (2.0, 3.0, etc.). Les versions mineures rendront les fonctionnalités obsolètes, mais ne les supprimeront pas; les versions majeures supprimeront des fonctionnalités.

La nouvelle valeur NA de Pandas

Les versions précédentes de Pandas utilisaient différents types pour représenter les données manquantes, selon le type de conteneur - un pour les types datetime, un pour les objets, etc. Tous ces types sont fusionnés en un seul type de données manquantes appelé NA. À l'heure actuelle, la prise en charge de NA est limitée à quelques types d'objets, et elle est considérée comme expérimentale, elle ne devrait donc pas encore être utilisée en production. 

Incompatibilités API

En raison du nombre de modifications apportées à Pandas 1.0, certaines API de Pandas sont désormais incompatibles avec les versions antérieures. Cela inclut les changements de comportement de nombreux éléments communs:

  • Le DataFrame type
  • pandas.array
  • arrays.IntegerArray

Beaucoup de ces incompatibilités soulèveront des avertissements, mais il est préférable de tester les scripts Pandas existants côte à côte avec leurs homologues Pandas 1.0 pour voir comment ils fonctionnent.

Fonctionnalités obsolètes dans Pandas 1.0

La documentation de Pandas répertorie toutes les fonctionnalités à déconseiller mais non à supprimer dans Pandas 1.0. Certains d'entre eux ont simplement été renommés ou réorganisés, comme le module de test, tandis que d'autres modifient l'utilisation de certains paramètres de fonction. Dans quelques cas, comme avec Series.item()et Index.item(), les fonctionnalités ont été sauvées de la dépréciation et resteront disponibles.

Si vous utilisez une version de Pandas antérieure à 0.25, les créateurs de Pandas recommandent de migrer d' abord vers Pandas 0.25  , en s'assurant que tout le code dépendant de Panda se comporte comme prévu,  puis de migrer vers Pandas 1.0. Ceci permet de garantir que tout code utilisant des fonctionnalités obsolètes sera signalé.

Fonctionnalités supprimées dans Pandas 1.0

Certaines fonctionnalités clés de Pandas ont été complètement supprimées dans Pandas 1.0:

  • SparseSerieset SparseDataFrame. Utilisez Seriesou DataFrameavec l' sparsevaluesoption à la place.
  • Enregistrement d'unité Matplotlib. Cela évite que Matplotlib ne soit affecté lorsque vous importez des Pandas.
  • De nombreuses autres fonctionnalités qui étaient auparavant obsolètes.

Encore une fois, c'est une autre raison de tester la version candidate de Pandas 1.0 côte à côte avec votre installation Pandas existante et de vous assurer que vos scripts se comportent comme prévu.

Installation de Pandas 1.0

Pandas 1.0 peut être installé directement dans Python via le gestionnaire de packages Pip, en tapant pip install pandas. Pandas 1.0 est également disponible dans le cadre de la distribution Anaconda Python pour le calcul scientifique.

Dans tous les cas, il est préférable d'installer Pandas dans un environnement virtuel, en particulier si vous souhaitez exécuter des tests de scripts Pandas 1.0 côte à côte avec leurs homologues de la version antérieure.