Par Équipe Blent
Data Scientist
Publié le 10 mai 2022
Catégorie Machine Learning
Le traitement des données est une étape fondamentale dans le cycle de vie d'un projet Data Science. Certains domaines, tels que le traitement de langage naturel, demandent une grande quantité de traitement de données avant de pouvoir faire intervenir des modèles de Machine et Deep Learning.
L'une des bibliothèques utiliser pour le prétraitement des données est Pandas. Si vous avez travaillé avec des données tabulaires avant, vous l'avez certainement utilisé. C'est une bibliothèque du langage de programmation Python utilisée pour la manipulation et l’analyse des données. Si vous envisagez la science des données comme une carrière, alors il est impératif que l’une des premières choses que vous faites est d’apprendre à utiliser Pandas.
Dans cet article, nous allons détailler la notion des DataFrames et nous allons voir comment utiliser la bibliothèque Pandas pour manipuler des données tabulaires.
Avant de commencer à parler de Pandas, regardant d'abord ce que sont les DataFrames. Les DataFrames, ou trames de données en français, sont un moyen de stocker des données dans des grilles rectangulaires qui peuvent facilement être survolées. Chaque ligne de ces grilles correspond aux mesures ou valeurs d’une instance, tandis que chaque colonne est un vecteur contenant des données pour une variable spécifique.
À lire aussi : découvrez notre formation MLOps
Ils sont définis comme des structures de données étiquetées en deux dimensions avec des colonnes de types potentiellement différents. Les lignes d’une DataFrame peuvent contenir des données numériques, des chaines de caractères, des objets logiques, et ils peuvent même être vides.
En général, on pourrait dire que le Pandas DataFrame se compose de trois composantes principales : les données, l’index et les colonnes. On peut spécifier les index et les noms de colonnes pour un DataFrame. L’index, d’une part, indique la différence dans les lignes, tandis que les noms des colonnes indiquent la différence dans les colonnes. Ces deux composants seront utiles lorsqu'on va manipuler des données.
Un DataFrame peut aussi contenir d'autres types d'objets :
ndarray
, unidimensionnel ou bidimensionnel.Il existe plusieurs moyens et plusieurs librairies sous Python pour manipuler des trames de données. L'un des moyens les plus populaires est Pandas.
Pandas est une librairie de gestion de données, extrêmement populaire et incontournable dans le monde de la Data Science. Elle est une surcouche à NumPy, et donc hérite de toutes les fonctions (moyenne, tri, statistiques, ...) déjà présentes dans NumPy.
Pandas prend des données, comme une base de données CSV ou SQL, et en crée un DataFrame. Il fournit des outils de manipulation de données de haut niveau, notamment des outils pour :
Pandas est simple à apprendre et à utiliser. Les données traitées avec Pandas sont souvent utilisées pour alimenter des analyses statistiques avec SciPy, les fonctions de traçage de Matplotlib et les algorithmes d’apprentissage automatique dans Scikit-learn. Cela rend cette bibliothèque indispensable surtout pour les missions Machine Learning.
Pandas fournit de nombreux avantages :
Avant de traiter les données, la première chose à effectuer consiste à créer un DataFrame.
Pour ce faire, il existe plusieurs méthodes possibles en fonction du type de fichier :
read_csv
est efficace, car elle permet également de gérer les fichiers de taille importante en segmentant la lecture bloc par bloc.read_json
fonctionne sur le même principe.read_sql
et bien d'autres.Par exemple, pour charger des données provenant d'un fichier CSV, il suffit d'exécuter la commande suivante:
data = pd.read_csv("data.csv")
Dans ce qui suit, nous allons travailler sur un ensemble de données provenant du jeu de données très connu titanic, qui contient des informations à propos d’un sous-ensemble des passagers du navire Titanic.
Nous allons commencer par importer le jeu de données :
import numpy as np import pandas as pd import seaborn as sns titanic = sns.load_dataset('titanic')
Une fonction pratique pour afficher les cinq premières lignes du DataFrame est la fonction head
, très pratique lorsque l'on travaille avec plusieurs DataFrames et que l'on souhaite, en un coup d'oeil, se remémorer de la structure d'un DataFrame.
titanic.head()
Une propriété qui peut être utile, est le shape (forme) des DataFrame, qui indique le nombre de lignes et de colonnes.
titanic.shape
(891, 15)
Pour accéder à une colonne du DataFrame, c'est de la même façon que pour les listes, mais plutôt que d'utiliser la position de la colonne, il suffit de donner son étiquette.
titanic['survived']
0 0 1 1 2 1 3 1 4 0 .. 886 0 887 1 888 0 889 1 890 0 Name: survived, Length: 891, dtype: int64
La librairie pandas
dispose des deux types d'indexation : par positionnement et par label. La fonction d'indexation loc
effectue une indexation par label et la fonction d'indexation iloc
, par positionnement.
# mélanger l’ordre des lignes du DataFrame import sklearn titanic=sklearn.utils.shuffle(titanic)
# Ligne dont l'indice est le label 87 titanic.loc[87]
survived 0 pclass 3 sex male age 22.0 sibsp 1 parch 0 fare 7.25 embarked S class Third who man adult_male True deck NaN embark_town Southampton alive no alone False Name: 0, dtype: object
# Ligne dont la position est 87 (88ème ligne) titanic.iloc[87]
survived 0 pclass 3 sex female age NaN sibsp 0 parch 0 fare 7.6292 embarked Q class Third who woman adult_male False deck NaN embark_town Queenstown alive no alone True Name: 502, dtype: object
Nous allons maintenant filtrer pour récupérer uniquement ce qui nous intéresse.
# récupérer que les informations à propos des femmes titanic[titanic['sex']=='female']
Le groupement consiste à regrouper les données selon une ou plusieurs variables et d'en agréger certaines afin de pouvoir résumer une information. Nous allons chercher la moyenne d'âge des femmes et des hommes sur le navire :
titanic[["age","sex"]].groupby(by='sex').mean()
La fonction drop
permet de supprimer des axes (colonnes ou lignes) d'un DataFrame. Son utilisation est plutôt simple.
Pour supprimer la ligne dont l'index est égal à 0 nous exécutons la ligne suivante :
titanic=titanic.drop(0)
Pour supprimer la colonne age nous exécutons la ligne suivante :
titanic=titanic.drop(columns=["age"])
Pour ajouter une où plusieurs lignes a un DataFrame, il existe deux méthodes, soit on utilise la fonction loc
, dans ce cas, nous pouvons ajouter cette ligne qu'à la fin du DataFrame en specifiant le label de cette ligne :
titanic.loc[0] = [0,3,'female',24.0,0,0,7.5,'First','woman',False,'B','Cherbourg','yes',True ] titanic.loc[0]
survived 0 pclass 3 sex female sibsp 24 parch 0 fare 0.0 embarked 7.5 class First who woman adult_male False deck B embark_town Cherbourg alive yes alone True Name: 0, dtype: object
La fonction iloc
peut être utilisé de la même manière, elle permet de spécifier l'emplacement de la ligne à ajouter.
Après avoir modifié nos données, nous désirons les enregistrer en local en format CSV, il suffit d'exécuter la commande suivante :
titanic_modified.to_csv('<File Path>\titanic_modified.csv')
Même si Pandas est la bibliothèque la plus utilisée par les Data Scientists, et malgré sa performance et sa flexibilité, il existe plusieurs autres choix plus convenables dans des situations bien spécifiques, nous prendrons en guise d'exemple :
À lire aussi : découvrez notre formation MLOps
Explorer, nettoyer, transformer et visualiser des données avec des pandas en Python est une compétence essentielle pour un Data Scientist. Maîtriser cet outil permettra non seulement d’avoir plus de contrôle sur les données d’entrée, mais aussi donnera plus de flexibilité et de puissance lors de l’exploration de données.
Articles similaires
20 sept. 2022
Hugging Face est une startup française qui s'est fait connaître grâce à l'infrastructure NLP qu'ils ont développée. Aujourd'hui, elle est sur le point de révolutionner le domaine du Machine Learning et traitement automatique du langage naturel. Dans cet article, nous allons présenter Hugging Face et détailler les taches de base que cette librairie permet de réaliser. Nous allons également énumérer ses avantages et ses alternatifs.
Équipe Blent
Data Scientist
Lire l'article
12 juil. 2022
spaCy est une bibliothèque open-source pour le traitement avancé du langage naturel. Elle est conçue spécifiquement pour une utilisation en production et permet de construire des applications qui traitent et comprennent de grands volumes de texte.
Équipe Blent
Data Scientist
Lire l'article
4 juil. 2022
Un auto-encodeur est une structure de réseaux neuronaux profonds qui s'entraîne pour réduire la quantité de données nécessaires pour représenter une donnée d'entrée. Ils sont couramment utilisés en apprentissage automatique pour effectuer des tâches de compression de données, d'apprentissage de représentations et de détection de motifs.
Équipe Blent
Data Scientist
Lire l'article
60 rue François 1er
75008 Paris
Blent est une plateforme 100% en ligne pour se former aux métiers Tech & Data.
Organisme de formation n°11755985075.
Data Engineering
IA Générative
MLOps
Cloud & DevOps
À propos
Gestion des cookies
© 2025 Blent.ai | Tous droits réservés