Est-il exact d'affirmer que la nouvelle bibliothèque Polars surpasse Pandas dans plusieurs benchmarks, ou est-ce que la bibliothèque Pandas est toujours le choix dominant ?

Lors de l'exécution de tâches d'analyse de données, il est probable que vous ayez rencontré des pandas. C'est depuis longtemps la bibliothèque la plus prédominante dans l'analyse de données. Polars, d'autre part, est une bibliothèque relativement nouvelle qui offre des performances élevées et une efficacité de la mémoire. Mais, lequel est le meilleur ?

Ici, vous verrez une comparaison des performances entre Pandas et Polars sur une gamme de tâches courantes de manipulation de données.

Mesurer les performances: métriques et ensemble de données de référence

Cette comparaison prendra en compte la capacité des Pandas et Polaires bibliothèques pour manipuler l'ensemble de données Black Friday Sale à partir de Kagglé. Cet ensemble de données contient 550 068 lignes de données. Il comprend des informations sur les données démographiques des clients, l'historique des achats et les détails des produits.

instagram viewer

Pour garantir des mesures de performances équitables, la comparaison utilisera le temps d'exécution comme métrique de performance standard pour chaque tâche. La plate-forme pour exécuter le code pour chaque tâche de comparaison sera Google Colab.

Le code source complet qui compare les bibliothèques Pandas et Polars est disponible dans un Référentiel GitHub.

Lecture de données à partir d'un fichier CSV

Cette tâche compare le temps nécessaire à chaque bibliothèque pour lire les données du jeu de données Black Friday Sale. Le jeu de données est dans Format CSV. Pandas et Polars offrent des fonctionnalités similaires pour cette tâche.

Les Pandas prennent deux fois plus de temps que les Polars pour lire les données dans l'ensemble de données Black Friday Sale.

Sélection de colonnes

Cette tâche mesure le temps nécessaire à chaque bibliothèque pour sélectionner les colonnes du jeu de données. Il s'agit de sélectionner les ID de l'utilisateur et Achat Colonnes.

Les polaires prennent beaucoup moins de temps pour sélectionner les colonnes de l'ensemble de données par rapport aux pandas.

Filtrage des lignes

Cette tâche compare les performances de chaque bibliothèque dans le filtrage des lignes où Genre colonne est F de l'ensemble de données.

Les polaires prennent très peu de temps par rapport aux pandas pour filtrer les lignes.

Regroupement et agrégation de données

Cette tâche implique le regroupement des données sur une ou plusieurs colonnes. Ensuite, effectuer des fonctions d'agrégation sur les groupes. Il mesure le temps qu'il faut à chaque bibliothèque pour regrouper les données par Genre colonne et calculez le montant d'achat moyen pour chaque groupe.

Encore une fois, les Polars surpassent les Pandas. Mais la marge n'est pas aussi énorme que celle du filtrage des lignes.

Application de fonctions aux données

Cette tâche consiste à appliquer une fonction à une ou plusieurs colonnes. Il mesure le temps qu'il faut à chaque bibliothèque pour multiplier le Achat colonne par 2.

Vous pouvez à peine voir la barre Polars. Les polaires surpassent une fois de plus les pandas.

Fusionner des données

Cette tâche implique fusionner deux ou plusieurs DataFrames sur la base qu'une ou plusieurs colonnes communes existent. Il mesure le temps qu'il faut à chaque bibliothèque pour fusionner ID de l'utilisateur et Achat colonnes de deux DataFrames distincts.

Il faut un certain temps aux deux bibliothèques pour accomplir cette tâche. Mais Polars prend presque la moitié du temps que Pandas met pour fusionner les données.

Pourquoi Polars est capable de surpasser les pandas?

Dans toutes les tâches de manipulation de données ci-dessus, les polaires surpassent les pandas. Il existe plusieurs raisons pour lesquelles Polars peut surpasser Pandas en temps d'exécution.

  • Optimisation de la mémoire: Polars utilise Rust, un langage de programmation système qui optimise l'utilisation de la mémoire. Cela permet à Polars de minimiser le temps qu'il consacre à l'allocation et à la désallocation de mémoire. Cela rend le temps d'exécution plus rapide.
  • Opérations SIMD (Single Instruction Multiple Data): Polars utilise les opérations SIMD pour effectuer des calculs sur les données. Cela signifie qu'il peut utiliser une seule instruction pour effectuer la même opération sur plusieurs éléments de données simultanément. Cela permet à Polars d'effectuer des opérations beaucoup plus rapidement que Pandas, qui utilisent une approche à un seul thread.
  • Évaluation paresseuse: Polars utilise l'évaluation paresseuse pour retarder l'exécution des opérations jusqu'à ce qu'elle en ait besoin. Cela réduit le temps que Polars consacre à des opérations inutiles et améliore les performances.

Développez vos compétences en science des données

Il existe de nombreuses bibliothèques Python qui peuvent vous aider en science des données. Les pandas et les polaires ne sont qu'une petite fraction. Pour améliorer les performances de votre programme, vous devez vous familiariser avec davantage de bibliothèques de science des données. Cela vous aidera à comparer et à choisir la bibliothèque qui convient le mieux à votre cas d'utilisation.