Pandas
Créateur | Wes McKinney |
---|---|
Développé par | Wes McKinney, J. Brock Mendel (d), Joris Van den Bossche (d) et Jeff Reback (d) |
Dernière version | 2.2.3 ()[1] |
Dépôt | github.com/pandas-dev/pandas |
Assurance qualité | Intégration continue |
Écrit en | Python |
Système d'exploitation | Multiplateforme |
Formats lus | Hierarchical Data Format |
Formats écrits | Hierarchical Data Format |
Type |
Bibliothèque logicielle Python (d) Numerical software (d) |
Licence | Licence BSD |
Documentation | pandas.pydata.org/docs/user_guide/index.html#user-guide |
Site web | pandas.pydata.org |
Pandas est une bibliothèque écrite pour le langage de programmation Python permettant la manipulation et l'analyse de données. Elle propose en particulier des structures de données et des opérations de manipulation de tableaux numériques et de séries temporelles.
Pandas est un logiciel libre sous licence BSD[2]. Son nom est dérivé du terme Panel Data (en français "données de panel", un terme d'économétrie pour les jeux de données qui comprennent des observations sur plusieurs périodes de temps pour les mêmes individus). Son nom est également un jeu de mots sur l'expression "Python Data Analysis".
Entre 2007 à 2010, Wes McKinney a commencé à construire ce qui allait devenir Pandas alors qu'il était chercheur dans la société américaine AQR Capital.
Structures de données
[modifier | modifier le code]Les principales structures de données gérées par cette bibliothèque sont :
- Séries : stockage des données selon une dimension - grandeur en fonction d'un index
- DataFrames : stockage des données selon 2 dimensions - lignes et colonnes ou avec des index hiérarchiques (MultiIndex) pour un stockage selon plus de 2 dimensions.
Fonctionnalités de la bibliothèque
[modifier | modifier le code]Les principales fonctionnalités de la bibliothèque sont :
- L'objet DataFrame est utile pour manipuler des données aisément et efficacement avec des index pouvant être des chaines de caractères ;
- Des outils pour lire et écrire des données structurées en mémoire depuis et vers différents formats : fichiers CSV, fichiers textuels, fichier du tableur Microsoft Excel, base de données SQL ou le format rapide et permettant de gérer de gros volumes de données nommé HDF5 ;
- Alignement intelligent des données et gestion des données manquantes (NaN = not a number).
- Alignement des données basé sur des étiquettes (chaines de caractères).
- Trier selon divers critères de données totalement désordonnées ;
- Redimensionnement et table pivot ou pivot table en anglais (aussi nommé tableau croisé dynamique) ;
- Fusion et jointure de large volume de données ;
- Analyse de séries temporelles
Les voies critiques de la bibliothèque sont écrits en Cython ou C[3].
Exemples
[modifier | modifier le code]Courbes
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
df = pd.DataFrame(np.random.randn(100, 5), columns=list('ABCDE'))
df=df.cumsum() # Return cumulative sum over a DataFrame or Series axis
df.plot()
plt.show()
Diagramme à barres
df = pd.DataFrame(np.random.rand(10, 5), columns=list('ABCDE'))
df.plot.bar(stacked=True)
plt.show()
Box plot
df = pd.DataFrame(np.random.rand(7, 5), columns=list('ABCDE'))
df.plot.box()
plt.show()
Histogramme
data = pd.Series(np.random.normal(size=100))
data.hist(grid=False)
plt.show()
Voir également
[modifier | modifier le code]Références
[modifier | modifier le code]- « Release 2.2.3 », (consulté le )
- http://pandas.pydata.org/pandas-docs/stable/overview.html#license
- Andreas C. Müller, Sarah Guido, Introduction to Machine Learning with Python, O'Reilly, (ISBN 978-1449369415, lire en ligne)
Liens externes
[modifier | modifier le code]- Site web Pandas
- https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html
- Dépôt GitHub de Pandas
- Livre Python for Data Analysis
- Livre Analyse de données en Python - Manipulation de données avec pandas, NumPy et IPython (traduction française de Python for Data Analysis)
- https://en.wikipedia.org/wiki/AQR_Capital
- Pandas and Python : Top 10
- Pandas, une bibliothèque pour manipuler facilement des données (article sur le site LinuxFr)