Pandas
Quand on parle de la bibliothèque pandas on parle surtout de son objet le Dataframe. Pour décrire cet objet, prenons une table de base de données. Elle a des colonnes et des valeurs. Imaginer maintenant mettre cette table en RAM, et pouvoir la manipuler avec python. Vous associez la simplicité de python, et la rapidité de la RAM. Voilà votre dataframe. Si vous êtes sur excel, vous pouvez automatiser certaines actions comme le nettoyage de données ou la création de graphiques. Mais aussi dépasser le million de lignes.
Installation par pip
Vous permet d'installer pandas avec pip. Il ne reste plus qu'à faire un import.
Vous permet d'utiliser le namecode 'pd' au lieu de pandas, raccourci souvent utilisé par les data scientist.
Conseil et Source de donnée
Si vous vous intéressez à pandas, vous allez très certainement déborder sur numpy, matplotlib, seaborn, ... . Je vous conseille la distribution anaconda. Elle contient ipython, les bibliothèques/modules principaux en data, mais aussi jupyterlab qui permet de faire des notebooks, et pleins d'autres outils (spider, conda).
Au niveau des sources de données, je vous conseille des plateformes open-data comme par exemple :
- data-gouv : données publiques du gouvernement français
- INSEE : données de l'INSEE, notamment IRIS pour les fonds de carte
Importation des données
Données sur fichier
Vous avez les données dans un fichier. Facile la commande
Exemple :
Vous permet de lire votre fichier csv et de le mettre dans un dataframe. Plus d'info dans la documentation de pandas
Donnée sur BDD
Si vos données sont sur une base de données, il existe des connecteurs.
Base de données SQL
Vous pouvez utiliser directement des bases de données SQL avec les commandes incluses dans pandas. Plus d'info ici : https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html#io-sql
Certains préfèrent utiliser la bibliothèque sqlalchemy que vous trouverez là : https://www.sqlalchemy.org/
Base de données no SQL
Les bases de données no-SQL proposent souvent des connecteurs. Par exemple mongoDB propose pymongo. Vous pouvez voir un exemple d'utilisation ici : https://github.com/barrmath/mongo_db_py/blob/main/mongodb_test.ipynb
Commande de base
Que peut-on faire avec un dataframe ? Dans la suite de cette page, je considère que vous avez un dataframe qui s'appelle data
head/tail
Les méthodes head et tail vous permettent de voir le début et la fin d'un dataframe.
Affiche les 5 premières lignes du dataframe.
Affiche les 10 dernières lignes.
Ajout de colonne
Avant de faire cela, il faut apprendre à sélectionner les colonnes. Il existe plusieurs méthodes :
data["colonne"]# sélectionne la colonne par son nom entre []
data.colonne # sélectionne la colonne par son nom après le .
data[5:10 , 2:5] # affiche les ligne 6 à 10 des colonnes 3 à 5.
['colonnne1','colonne2']] # sélection multiple
Besoin de rajouter une colonne pour faire un calcul ?
Filtre
Vous ne voulez que les enfants de moins de trois ans : data[data['age']<3] . Décortiquons un peu le fonctionnement:
data['age'] # va vous sélectionner la colonne age
data['age']<3 # envoie une série de true false
data[data['age']<3] # vous renvoie un dataframe qui ne contient que les enfants de moins de 3 ans
Vous pouvez continuer à compléter ce dataframe par exemple en ne voulant que les noms, prénoms, classes des enfants de moins de 3 ans.
Pour une introduction à pandas, c'est pas mal. Plus de fonction dans la documentation (loc, iloc pour le tri).
Un dernier tip pour la route, pourchanger le type des colonnes, regarder la méthode astype
Sauvegarder votre Dataframe
La méthode data.to_csv("fichier.csv") permet de sauvegarder votre dataframe en format csv. Vous pouvez trouver d'autres méthodes dans la doc de pandas.
Premier graphique
Juste pour information, vous pouvez utiliser pandas pour dessiner des graphiques avec la méthode plot. Je vous mets le lien vers la documentation de plot : https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.html
Conclusion
Il s'agit juste d'une introduction. Vous pouvez trouver des utilisations de pandas dans mon github. Faites vos propres graphiques, essayer de chercher ce que vous pouvez faire avec les données ouvertes. C'est la meilleure façon d'apprendre.