Les 10 bibliothèques Python qu'un Data analyst doit connaître
Python ne serait pas Python sans ses bibliothèques. Découvre ce qu’est une librairie, comment les utiliser, et quelles sont les librairies incontournables en Data Science !
Peut-on vraiment tout faire avec Python ?
Oui ! Mais à condition de s’équiper des bons outils.
Les bibliothèques (ou librairies) sont un peu le super-pouvoir de Python.
Elles permettent de faire de Python ton allié, quel que soit le domaine dans lequel tu travailles.
Découvre dans cet article ce qu’est une librairie en programmation, et quelles sont les librairies préférées des Data Analyst.
Qu’est ce qu’une bibliothèque ou librairie en programmation?
En programmation, une bibliothèque (ou “library” en anglais) est une collection de fonctions et de modules liées à un thème spécifique. Si ces modules appartiennent au pack originel du langage, ce sont des modules intégrés.
Python a également été complété par des modules tiers : ils ont été codées par des développeurs à partir des fonctions de bases du langage et ils sont accessibles en open-source.
Remarque : normalement, on devrait traduire “library” par “bibliothèque”, mais par abus de langage, l’usage du terme “librairie” s’est généralisé !
La plupart des langages de programmation disposent de librairies. Il suffit de les importer dans le programme grâce à quelques lignes de code.
Citons quelques exemples :
- Javascript : JQuery permet de créer des sites web dynamiques.
- C++ : Math.h regroupe des fonctions mathématiques très avancées.
- Java : JFreeChart permet de visualiser graphiquement des données statistiques.
En langage Python, une librairie c’est un ensemble de fonctions, de classes d’objets et de constantes qui permettent de travailler sur un thème particulier. Il existe de très nombreuses bibliothèques Python, et c’est pour cela que c’est le langage de programmation le plus populaire (selon le classement Tiobe 2021).
En effet, l’esprit de communauté de Python se manifeste à travers la mise à disposition de nombreuses librairies. Les développeurs expérimentés peuvent diffuser les librairies qu’ils codent grâce au site Pypi. Ce site Internet regroupe également la documentation nécessaire pour bien utiliser les librairies, et indique la ligne de code nécessaire pour leur importation. Tu peux également trouver des indications et des astuces sur le site python.org.
Avec les bibliothèques de Python, tu gagnes un temps précieux ! Leur nombre et leur facilité d’utilisation expliquent notamment pourquoi apprendre Python est devenu incontournable !
En effet, en utilisant ce que d’autres développeurs ont déjà codé avant toi, tu peux te lancer dans des projets plus ambitieux, en améliorant la fluidité de ton travail. Il est parfois même possible de repousser les limites de tes propres connaissances : un peu comme en mathématiques où tu utilises des théorèmes que tu n’aurais pas pu inventer seul. Avec les librairies Python tu peux te servir de techniques algorithmiques très avancées… très simplement.
Par exemple, si tu t’inscris au bootcamp de Databird, tu apprendras à réaliser une régression linéaire dans le cadre d’une initiation au Machine Learning. Il est intéressant de comprendre comment ce modèle fonctionne mais pour l’exécuter, tu peux simplement utiliser une fonction de la bibliothèque Scikit learn (voir plus bas).
La Data science t’intéresse ? Découvre nos formations et deviens un Data Analyst opérationnel en quelques semaines !
Dans cet article, nous listons les bibliothèques les plus utilisées par les professionnels de la Data science. Sache cependant qu’il existe des bibliothèques pour tous les secteurs d’application. Par exemple, dans le domaine de la recherche scientifique, la bibliothèque biopython permet de traiter et d'analyser plus facilement des données biologiques. Dans le domaine des jeux vidéos, la bibliothèque pyGame est utilisée pour créer des jeux vidéo en 2D ou 3D.
Pandas
Pandas est la bibliothèque la plus complète en ce qui concerne la manipulation de données. On peut comparer pandas à un “Excel sous stéroïdes” : elle permet de travailler avec :
- des tableaux de données en deux dimensions (lignes et colonnes) appelés DataFrames,
- des Panels, c'est-à-dire des ensemble de données en trois ou quatre dimensions!
Avec la bibliothèque Pandas, tu peux importer des données depuis un fichier .csv afin de les nettoyer (par exemple pour éliminer toutes les lignes vides), les transformer ou les compléter.
Pandas permet également d’effectuer des calculs statistiques sur tes données, par exemple avec la méthode .mean() qui permet d’obtenir la moyenne des valeurs contenues dans une colonne.
Le principal avantage de Pandas par rapport à Numpy est de permettre de nommer les colonnes et les lignes, ce qui offre bien plus de lisibilité dans tes projets.
Voici un exemple de DataFrame qu’une banque pourrait utiliser : ce tableau contient des informations sur les emprunts accordés.
Une ligne correspond à un client, et les colonnes offrent des informations complémentaires : âge, revenu, statut de propriétaire ou non, situation d’emploi, but de l’emprunt, note de l’emprunt (son risque), montant de l’emprunt, taux d'intérêt de l’emprunt…
Numpy
Numpy contients des modules de gestion de données et de calcul. Elle permet de gérer facilement des bases de données : on les appelle les numpy arrays. Ce sont des listes, ou bien des listes de listes.
L’avantage de Numpy est de pouvoir créer rapidement une base de données, avec des instructions simples que Python comprend. Par exemple, l’instruction np.zeros(10) renvoie une liste de dix chiffres, tous égaux à 0.
Ensuite, Numpy permet d’effectuer des opérations particulièrement rapidement. En effet, avec Numpy une opération effectuée sur un “array” s’applique à chaque terme de cet array. Cela évite de devoir exécuter une boucle FOR ou une boucle WHILE, ce qui est parfois une opération assez lente.
Tu peux également faire interagir deux arrays, par exemple en les additionnant.
Numpy est pourvue de fonctions mathématiques plus puissantes que pandas. Toutefois, Numpy ne permet pas d'étiqueter les colonnes et les lignes.
SciPy
SciPy s’utilise en synergie avec Numpy puisqu’elle travaille sur des données du format Numpy array. SciPy offre un catalogue d’opérations scientifiques : algèbre linéaire, algorithmes de régression, fonctions statistiques…
En particulier, SciPy permet de travailler sur des projets d’optimisation numérique qui consistent à chercher à obtenir le plus petit chiffre (ou le plus grand) possible en modifiant certaines variables Python .
SciPy permet également de travailler dans l’ingénierie avec des fonctions physiques (par exemple le calcul de la pulsation d’un signal).
Matplotlib
Matplotlib est un module de dataviz très plaisant : c’est en effet lui qui te permet, en une ligne de code, de créer des graphiques qui modélisent les données sur lesquelles tu travailles. Matplotlib s’utilise en synergie avec Numpy ou Pandas.
Matplotlib offre une large variété de types de graphes qui s’adaptent à tous les besoins : histogrammes, boîtes à moustache, courbes, scatter plots, camemberts…
Il est possible de personnaliser ton graphique autant que tu le souhaites, à condition d’apprendre à coder en Python ! Mais pas d’inquiétude, l’apprentissage de la bibliothèque Matplotlib fait partie de la formation de Databird et toute la documentation est également disponible sur le site python.org.
Voici un exemple de graphique personnalisé :
D’abord, on choisit mille valeurs entre 0 et 10, régulièrement espacées :
x = np.linspace(0, 10, 1000)
On applique la fonction cosinus :
y = np.cos(x)
Enfin, on utilise le module plt.plot de Matplotlib pour afficher le graphique correspondant :
plt.plot(x,y)
Une fois la dernière ligne de code exécutée, voici ce qui s’affiche à l’écran :
Avec les attributs du module plt.plot, tu peux facilement personnaliser ton graphique :
plt.plot(x, y, color = 'red', marker = 'o', linestyle = 'dashed')
Voici ce que donne l’exécution de la ligne de code ci-dessus :
Seaborn
Seaborn est une extension de Matplotlib. C’est un outil plus puissant, qui permet de tracer des graphiques relationnels entre deux vecteurs et des graphiques de distribution.
Seaborn a également la réputation d’être plus fonctionnel, car les thèmes par défaut sont esthétiques et peuvent être utilisés pour concevoir un tableau de bord, ce qui n’est pas toujours le cas des graphiques Matplotlib.
De plus, avec Seaborn il est possible d’automatiser la création de graphiques : cela te permet de travailler plus vite, et de gagner du temps lorsque tu veux présenter visuellement tes résultats.
Requests
Requests permet d’effectuer la première étape du web-scraping : la récupération du code HTML de la page. Concrètement, Requests est capable d’aller chercher sur le web une page dont on lui indique l’URL. On utilise pour cela la méthode .get().
On dit que Requests gère les requêtes HTTP : elle est capable de se rendre sur un site dont l’adresse commence par “http”.
Par exemple, pour obtenir le code HTML de la page Trustpilot qui compile les avis sur la formation Databird, on utilise :
response = requests.get('https://fr.trustpilot.com/review/data-bird.co')
{{banniere-article}}
BeautifulSoup
BeautifulSoup vient en complément de Requests. C’est un module d’analyse syntaxique, qui permet de nettoyer et d’organiser des gros blocs de textes. BeautifulSoup prend en charge différents langages, notamment HTML et XML.
Voici par exemple une ligne de code qui permet de réorganiser une variable (nommée “content”) qui contient du code HTML. Dans ce cas, il faut bien préciser à Python qu’on utilise un parser (c’est-à-dire un outil d’analyse) adapté au langage HTML.
soup = BeautifulSoup(content , "html.parser" )
Remarque : BeautifulSoup est même capable de corriger les petites erreurs syntaxiques qui sont présentes dans le corps du code HTML ou XML.
BeautifulSoup et Requests sont deux bibliothèques indispensables pour réaliser du web-scraping avec Python. Le web-scraping est l’une des compétences-clé du Data Analyst, et nous lui consacrons quatre jours de notre programme.
Scikit learn
Scikit learn, aussi appelée sklearn, est le module de machine learning le plus populaire. Cette biliothèque permet d’effectuer d supervisé ou non-supervisé. Elle est également performante en modélisation statistique, particulièrement pour la classification et la régression.
Sklearn propose de choisir un modèle parmi différentes classes de modèles, puis de le paramétrer, de l’entraîner et enfin de le tester sur tes données.
Cette bibliothèque est appropriée pour les usages business et notamment pour la mise en place de modèles prédictifs. On peut citer Spotify, qui s’en sert pour ses algorithmes de prédiction musicale, ainsi que Booking.com pour définir ses recommandations d’hôtels.
PyTorch
PyTorch est un module qui a été développé à partir de la librairie Torch, elle-même mise à disposition par les équipes de Facebook. Il rend accessible la réalisation de projets de Deep Learning.
PyTorch travaille sur des datasets de grande taille et propose des modèles d’apprentissage complexes fondés sur les réseaux de neurones. Le framework permet d’effectuer des prédictions, mais aussi de calculer l’erreur par rapport aux prédictions.
L’un des principaux avantages de PyTorch est le débuggage automatique intégré à la librairie.
TensorFlow
TensorFlow est le framework de Deep Learning développé par Google. Comme PyTorch, il permet de développer des réseaux de neurones profonds.
TensorFlow donne accès à des fonctionnalités et des techniques de Deep Learning très avancées, mais on reproche souvent à ce framework d’être un peu compliqué à prendre en main. Cette complexité est compensée par la grande flexibilité qu’offre TensorFlow, dès lors qu’on maîtrise l’outil.
Comment importer une bibliothèque sur Python?
Pour importer une bibliothèque, une ligne de code suffit. Par exemple, pour importer pandas, il suffit d’écrire :
import pandas as pd
En général, on donne un surnom à la bibliothèque (ici “pd”). En effet, on va être amené à appeler cette bibliothèque souvent dans le corps du code. Alors autant réduire le nombre de caractères nécessaires afin de gagner du temps!
Il y a parfois quelques subtilités. Il faut parfois préciser pip install pour que Python comprenne où est située la bibliothèque. C’est par exemple le cas pour BeautifulSoup.