Traduit de l'anglais

Pandas est une bibliothèque Python libre et open-source pour la manipulation et l'analyse de données, offrant des structures de données comme les Series et les DataFrames pour traiter des tableaux numériques et des séries temporelles. Elle a été créée par Wes McKinney en 2008 et est construite sur NumPy.

Pandas (stylisé pandas) est une bibliothèque logicielle écrite pour le langage de programmation Python, destinée à la manipulation et à l'analyse de données. En particulier, elle offre des structures de données et des opérations pour manipuler des tableaux numériques et des séries temporelles. Il s'agit d'un logiciel libre publié sous la licence BSD à trois clauses. Le nom est dérivé du terme « panel data », un terme économétrique désignant des ensembles de données qui incluent des observations sur plusieurs périodes pour les mêmes individus, ainsi qu'un jeu de mots sur l'expression « Python data analysis ». Wes McKinney a commencé à construire ce qui deviendrait Pandas chez AQR Capital alors qu'il y était chercheur de 2007 à 2010.

Le développement de Pandas a introduit dans Python de nombreuses fonctionnalités comparables pour travailler avec des DataFrames, qui étaient établies dans le langage de programmation R. La bibliothèque est construite sur une autre bibliothèque, NumPy.

Historique

Le développeur Wes McKinney a commencé à travailler sur Pandas en 2008 chez AQR Capital Management, en raison du besoin d'un outil performant et flexible pour effectuer des analyses quantitatives sur des données financières. Avant de quitter AQR, il a réussi à convaincre la direction de lui permettre de rendre la bibliothèque open source en 2009. Un autre employé d'AQR, Chang She, a rejoint l'effort en 2012 en tant que deuxième contributeur majeur de la bibliothèque. En 2015, Pandas est devenu un projet sponsorisé fiscalement par NumFOCUS, une organisation caritative à but non lucratif 501(c)(3) aux États-Unis.

Modèle de données

Pandas est construit autour de structures de données appelées Series et DataFrames. Les données pour ces collections peuvent être importées à partir de divers formats de fichiers tels que les valeurs séparées par des virgules, JSON, Parquet, les tables ou requêtes de bases de données SQL, et Microsoft Excel.

Series

Une Series est un objet unidimensionnel de type tableau qui stocke une séquence de valeurs avec un ensemble associé d'étiquettes, appelé index. Elle est construite sur le tableau de NumPy et offre de nombreuses fonctionnalités similaires, mais au lieu d'utiliser des positions entières implicites, une Series permet des étiquettes d'index explicites de nombreux types de données. Une Series peut être créée à partir de listes Python, de dictionnaires ou de tableaux NumPy. Si aucun index n'est fourni, pandas attribue automatiquement un index entier par défaut allant de 0 à n-1, où n est le nombre d'éléments dans la Series.

Pour accéder à une valeur ou à une liste de valeurs d'une Series, utilisez son index ou sa liste d'indices. Les Series peuvent être utilisées de manière arithmétique, comme dans l'instruction series_3 = series_1 + series_2. Cela alignera les points de données avec les valeurs d'index correspondantes dans series_1 et series_2 (similaire à une jointure en algèbre relationnelle), puis les additionnera pour produire de nouvelles valeurs dans series_3. Une Series possède divers attributs, tels que name (nom de la Series), dtype (type de données des valeurs), shape (nombre de lignes), values et index. Elles peuvent être utilisées dans de nombreuses opérations identiques à celles des tableaux NumPy, avec des méthodes supplémentaires pour le réindexage, la sélection basée sur les étiquettes et la gestion des données manquantes.

DataFrame

Un DataFrame est une structure de données tabulaire bidimensionnelle avec des lignes et des colonnes étiquetées. Chaque colonne est stockée en interne comme une Series et peut contenir un type de données différent (numérique, chaîne de caractères, booléen, etc.). Les DataFrames peuvent être créés par divers moyens, notamment des dictionnaires de listes, des tableaux NumPy et des fichiers externes tels que des feuilles de calcul CSV ou Excel. Pour récupérer une colonne d'un DataFrame comme une Series, utilisez soit l'index (notation de type dictionnaire), soit le nom de la colonne si celui-ci est un identifiant Python valide (accès de type attribut). Les DataFrames prennent en charge des opérations telles que l'assignation de colonnes, la suppression de lignes et de colonnes, l'indexation basée sur les étiquettes avec loc, l'indexation basée sur les positions avec iloc, le remodelage, le regroupement et la jointure. Les opérations de fusion implémentent un sous-ensemble de l'algèbre relationnelle et permettent des jointures un-à-un, plusieurs-à-un et plusieurs-à-plusieurs.

Certains attributs courants d'un DataFrame incluent dtypes (type de données de chaque colonne), shape (dimensions du DataFrame renvoyées sous forme de tuple avec la forme (nombre de lignes, nombre de colonnes)), index/columns (étiquettes des lignes/colonnes du DataFrame, respectivement, renvoyées sous forme d'objet Index), values (données du DataFrame renvoyées sous forme de tableau 2D) et empty (renvoie True si le DataFrame est vide).

Index

Les objets Index contiennent des métadonnées pour les objets Series et DataFrame, telles que les étiquettes d'axe et les noms, et sont automatiquement créés à partir des données d'entrée. Par défaut, un index pandas est une série d'entiers croissants à partir de 0, similaire aux indices des tableaux Python. Cependant, les index peuvent également utiliser n'importe quel type de données NumPy, y compris les nombres à virgule flottante, les horodatages ou les chaînes de caractères. Les index sont également immuables, ce qui permet de les partager en toute sécurité entre plusieurs objets.

La syntaxe de pandas pour mapper les valeurs d'index aux données pertinentes est la même syntaxe que Python utilise pour mapper les clés de dictionnaire aux valeurs. Par exemple, si s est une Series, s['a'] renverra le point de données à l'index a. Contrairement aux clés de dictionnaire, les valeurs d'index ne sont pas garanties d'être uniques. Si une Series utilise la valeur d'index a pour plusieurs points de données, alors s['a'] renverra à la place une nouvelle Series contenant toutes les valeurs correspondantes. Les noms de colonnes d'un DataFrame sont stockés et implémentés de manière identique à un index. Ainsi, un DataFrame peut être considéré comme ayant deux index : un basé sur les colonnes et un basé sur les lignes. Comme les noms de colonnes sont stockés comme un index, ils ne sont pas tenus d'être uniques.

Si data est une Series, alors data['a'] renvoie toutes les valeurs avec la valeur d'index a. Cependant, si data est un DataFrame, alors data['a'] renvoie toutes les valeurs dans la ou les colonnes nommées a. Pour éviter cette ambiguïté, Pandas prend en charge la syntaxe data.loc['a'] comme moyen alternatif de filtrer en utilisant l'index. Pandas prend également en charge la syntaxe data.iloc[n], qui prend toujours un entier n et renvoie la n-ième valeur, en comptant à partir de 0. Cela permet à un utilisateur d'agir comme si l'index était une séquence d'entiers de type tableau, quelle que soit sa définition réelle.

pandas prend également en charge les index hiérarchiques avec plusieurs valeurs par point de données via la classe « MultiIndex ». Les objets MultiIndex permettent à un seul DataFrame de représenter plusieurs dimensions, similaire à un tableau croisé dynamique dans Microsoft Excel, où chaque niveau peut éventuellement porter son propre nom unique. En pratique, les données avec plus de 2 dimensions sont souvent représentées à l'aide de DataFrames avec des index hiérarchiques, plutôt que les structures de données de dimension supérieure Panel et Panel4D.

Fonctionnalités

pandas prend en charge une variété de techniques d'indexation et de sous-ensemble, permettant de sélectionner des données par étiquette, index ou conditions booléennes. Par exemple, df[df['col1'] > 5] renverra toutes les lignes du DataFrame df pour lesquelles la valeur de la colonne col1 dépasse 5. La bibliothèque implémente également des opérations de regroupement basées sur l'approche split-apply-combine, permettant aux utilisateurs d'agréger, transformer ou restructurer des données selon des valeurs de colonnes ou des fonctions appliquées aux étiquettes d'index. Par exemple, df['col1'].groupby(df['col2']) regroupe les données dans 'col1' par leurs valeurs dans 'col2', tandis que df.groupby(lambda i: i % 2) regroupe toutes les données dans le DataFrame entier selon que leur index est pair.

La bibliothèque fournit également des outils pour gérer les données manquantes, fusionner et joindre des ensembles de données, remodeler des données (par exemple, pivotement et fusion), des fonctionnalités de séries temporelles, et des entrées/sorties pour de nombreux formats de fichiers. Ces fonctionnalités font de pandas une pierre angulaire de l'écosystème de science des données en Python, souvent utilisée en conjonction avec les bibliothèques de Machine learning et les flux de travail Artificial intelligence. Son intégration avec les tableaux NumPy et sa compatibilité avec les frameworks de Deep learning ont consolidé son rôle dans les pipelines de prétraitement de données à travers les industries, de la finance à l'analyse cloud Amazon Web Services.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Catégories:python-library·data-analysis·open-source-software
Cette page a été modifiée pour la dernière fois le 8 sept. 2026 par AI Wiki Bot · Historique