Chapitre_2 (1) (2)

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 27

02 INTRODUCTION AUX

BIBLIOTHÈQUES TIERCES - PANDAS

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT


QU'EST-CE QUE PANDAS ?

 Pandas est une bibliothèque Python spécialisée dans la manipulation et l’analyse de


données tabulaires ou structurées. Elle est devenue un outil essentiel pour les analystes et
scientifiques des données.
 Définition et historique :
> Créée en 2008 par Wes McKinney.
> Conçue pour gérer des données étiquetées et tabulaires de manière intuitive.
 Pourquoi Pandas est incontournable ?
> Gère efficacement des données sous forme de tableaux avec des index.
> Simplifie le traitement des valeurs manquantes et des données hétérogènes.
> Compatible avec les bibliothèques NumPy, Matplotlib, et Seaborn.
 Comparaison :
> Avec NumPy : Ajoute des fonctionnalités tabulaires avancées (index, valeurs
manquantes).
> Avec Excel : Plus rapide, adapté aux grands ensembles de données, et extensible avec
Python.

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 2


INSTALLATION ET CONFIGURATION

 Pour utiliser Pandas, il est nécessaire de l’installer et de l’importer dans vos projets

Python. Elle est compatible avec la majorité des environnements modernes, tels que

Jupyter Notebook, VS Code, ou PyCharm.

 Installation :

> Avec pip (gestionnaire standard) : pip install pandas

 Importation :

> Importez Pandas avec l’alias standard pd : import pandas as pd

 Vérifiez la version installée : print(pd.__version__)

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 3


STRUCTURE DES DONNÉES DANS PANDAS

 Pandas repose sur deux structures principales pour la manipulation des données : Series et
DataFrames.
 1. Series :
> Une structure unidimensionnelle pour gérer une liste ou une colonne avec un index.
> Chaque élément est accessible via un index, qui peut être numérique ou étiqueté.
> Idéal pour manipuler une seule colonne d’un tableau ou une série temporelle.
 2. DataFrames :
> Une structure bidimensionnelle, comme une table SQL ou une feuille Excel.
> Permet de manipuler des données avec des colonnes de types variés.
> Étiqueté à la fois par des lignes (index) et des colonnes (noms).
 Avantages par rapport à NumPy :
> Les index permettent un accès direct et plus intuitif aux données.
> Gère efficacement les valeurs manquantes, contrairement à NumPy.
> Peut manipuler des données hétérogènes, par exemple des colonnes numériques et
textuelles dans le même tableau.

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 4


EXEMPLE – SERIES ET DATAFRAMES

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 5


LECTURE ET ÉCRITURE DE FICHIERS

 Pandas permet d'importer et d'exporter des données à partir de divers formats, ce qui
simplifie les interactions avec des fichiers ou des bases de données. Ces fonctionnalités
sont essentielles pour les projets d'analyse de données.
 Lecture de fichiers :
> CSV (Comma-Separated Values) :Lecture rapide des fichiers CSV, le format le plus
courant pour les données tabulaires.
+ df = pd.read_csv("fichier.csv")
> Excel :Lecture de fichiers Excel, y compris des feuilles spécifiques.
+ df = pd.read_excel("fichier.xlsx", sheet_name="Feuille1")
> JSON :Lecture des fichiers structurés au format JSON.
+ df = pd.read_json("fichier.json")
 Écriture de fichiers :
> Exportation en CSV :Sauvegarde facile des données en CSV.
+ df.to_csv("export.csv", index=False)
> Exportation en Excel :Enregistrement des données avec ou sans index.
+ df.to_excel("export.xlsx", index=False)

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 6


EXEMPLE – LECTURE ET ÉCRITURE DE FICHIERS

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 7


EXPLORATION DES DONNÉES

 Une fois les données importées dans un DataFrame, l’étape suivante consiste à les explorer
pour comprendre leur structure, identifier les problèmes potentiels, et extraire des
informations préliminaires.
 Fonctions essentielles :
> head(n) :
+ Affichent respectivement les n premières ou dernières lignes du DataFrame.
+ Par défaut, n = 5.
> info() : Affiche un résumé des colonnes, des types de données, et du nombre de valeurs
manquantes.
> describe() :Fournit des statistiques descriptives (moyenne, min, max, etc.) pour les
colonnes numériques.
> shape et size :Dimensions (lignes, colonnes) et taille totale du DataFrame.
 Pourquoi explorer ?
> Ces outils permettent de repérer les valeurs nulles, de vérifier les types de colonnes, et
d’identifier les distributions pour les colonnes numériques.

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 8


EXEMPLE – EXPLORATION DES DONNÉES

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 9


INDEXATION ET SÉLECTION DES DONNÉES

 Pandas propose des méthodes puissantes pour accéder et sélectionner des données dans
un DataFrame ou une Series. Ces techniques sont essentielles pour extraire les informations
pertinentes.

 Accès aux colonnes :

> Sélection d’une colonne :df["Nom"] Retourne une Series contenant les données de la
colonne "Nom".

> Sélection de plusieurs colonnes :df[["Nom", "Ville"]]Retourne un DataFrame


contenant uniquement les colonnes spécifiées.

 Accès aux lignes :

> Par étiquette (loc) : Sélectionner la ligne avec l’étiquette L1 : df.loc[" L1 "]

> Par position (iloc) : Accéder à la deuxième ligne (position 1) : df.iloc[1]

 Filtrage conditionnel :

> Vous pouvez sélectionner des lignes répondant à une condition : df[df["Âge"] > 30]. Cela
retourne un sous-ensemble des lignes où la colonne Âge est supérieure à 30.

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 10


EXEMPLE – INDEXATION ET SÉLECTION DES DONNÉES

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 11


FILTRAGE DES DONNÉES

 Pandas permet de filtrer les données d’un DataFrame en fonction de conditions ou de


critères spécifiques. Cette opération est essentielle pour extraire les informations
pertinentes.
 Filtrage avec conditions simples : Pour sélectionner les lignes répondant à une
condition :
> df[df["Âge"] > 30] Cela retourne les lignes où la colonne Âge est supérieure à 30.
 Filtrage avec plusieurs conditions :Utilisez les opérateurs logiques pour combiner
plusieurs conditions :
> ET (&) :df[(df["Âge"] > 30) & (df["Ville"] == "Marseille")]
> OU (|) :df[(df["Âge"] > 30) | (df["Ville"] == "Paris")]
 Utilisation des méthodes de chaînes :Les colonnes de type texte permettent des
filtres avancés avec des méthodes comme str.contains :
> df[df["Ville"].str.contains("s", case=False)]. Cela sélectionne les lignes où Ville
contient la lettre "s".

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 12


EXEMPLE – FILTRAGE DES DONNÉES

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 13


ORGANISATION DES DONNÉES

 Groupement avec groupby :

> Organise et agrée les données par groupes :

> df.groupby("Ville")["Ventes"].sum()

+ Cela calcule le total des ventes pour chaque ville.

 Tri des données avec sort_values :

> Trie les lignes d’un DataFrame :

> df.sort_values(by="Âge", ascending=False)

+ Cela trie les données par la colonne Âge en ordre décroissant.

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 14


MODIFICATION DES DONNÉES

Pandas permet de modifier les données d’un DataFrame de manière flexible, que ce soit
pour ajouter ou supprimer des colonnes, ou pour mettre à jour des valeurs spécifiques.

 Ajouter une colonne :Ajoutez une nouvelle colonne calculée à partir d’autres colonnes:

> df["Total"] = df["Prix"] * df["Quantité"]

 Supprimer une colonne :Utilisez drop pour supprimer une ou plusieurs colonnes :

> df = df.drop(columns=["Colonne1"])

 Modifier des valeurs :Changez une valeur spécifique via l’indexation :

> df.loc[0, "Nom"] = "NouveauNom "

 Manipuler les index :Réinitialisez les index avec reset_index :

> df = df.reset_index(drop=True)

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 15


EXEMPLE – MODIFICATION DES DONNÉES

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 16


GESTION DES VALEURS MANQUANTES

 Les données réelles contiennent souvent des valeurs manquantes (NaN). Pandas offre
des outils efficaces pour détecter et traiter ces valeurs.

 Détecter les valeurs manquantes :

> isnull() : Renvoie un DataFrame booléen indiquant où les valeurs sont manquantes.

> notnull() : Renvoie l’opposé de isnull().

 Remplacer les valeurs manquantes : Remplacer par une valeur fixe :

> df.fillna(0)

 Remplacer par une statistique comme la moyenne:

> df["Colonne"].fillna(df["Colonne"].mean())

 Supprimer les valeurs manquantes :Supprimez les lignes contenant des valeurs
manquantes :

> df.dropna()

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 17


EXEMPLE – GESTION DES VALEURS MANQUANTES

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 18


EXEMPLE – GESTION DES VALEURS MANQUANTES

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 19


COMBINAISON DE DATAFRAMES

 Pandas permet de combiner plusieurs DataFrames pour créer des structures de


données enrichies ou pour regrouper des informations provenant de différentes
sources.

 1. Concaténation :Combine les DataFrames verticalement ou horizontalement. Par


défaut, les indices des DataFrames sont conservés :

> pd.concat([df1, df2], axis=0) # Verticale

> pd.concat([df1, df2], axis=1) # Horizontale

 2. Fusion (merge) :Effectue des jointures similaires à SQL sur une ou plusieurs
colonnes communes :

> pd.merge(df1, df2, on="clé")

 3. Jointure (join) :Combine des DataFrames en fonction de leurs index :

> df1.join(df2, how="inner")

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 20


EXEMPLE – COMBINAISON DE DATAFRAMES

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 21


STATISTIQUES DESCRIPTIVES

 Pandas propose des outils intégrés pour calculer des statistiques descriptives sur les
colonnes numériques.

 Mesures courantes :

> Moyenne : df["Colonne"].mean()

> Écart-type :df["Colonne"].std()

> Valeurs minimum et maximum :df["Colonne"].min(), df["Colonne"].max()

> Distribution des valeurs :df["Colonne"].value_counts()

> Résumé statistique :describe() génère un résumé des colonnes numériques


:Moyenne, médiane, écart-type, min, max, etc.

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 22


EXEMPLE – STATISTIQUES DESCRIPTIVES

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 23


ANALYSE TEMPORELLE

 Pandas propose des outils puissants pour gérer et analyser les données temporelles,
ce qui est particulièrement utile pour les séries chronologiques (ventes, prévisions,
etc.).

 Pourquoi analyser les données temporelles ? Identifier des tendances (hausse ou


baisse des ventes).Préparer des données pour des modèles de prévisions.

 1. Conversion en datetime :Convertissez des colonnes en objets datetime avec


pd.to_datetime() :df["Date"] = pd.to_datetime(df["Date"])

 2. Extraction des composants temporels :Une fois la conversion effectuée, vous


pouvez extraire :

> Année : df["Date"].dt.year

> Mois : df["Date"].dt.month

> Jour : df["Date"].dt.day

 3. Resampling :Agrégez les données à des intervalles réguliers avec resample() :

df.resample("M", on="Date").sum()

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 24


EXEMPLE – ANALYSE TEMPORELLE

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 25


MANIPULATION DES CHAÎNES DE CARACTÈRES

 Pandas offre des outils intégrés pour manipuler et analyser les données textuelles, ce
qui est essentiel pour les colonnes contenant des noms, des adresses ou des
catégories.
 Pourquoi manipuler les chaînes ?
> Normaliser les données avant l’analyse.
> Extraire des informations spécifiques à partir de textes bruts.

 1. Fonctions de base sur les chaînes :


> Convertir en minuscules :df["Colonne"].str.lower()
> Remplacer des sous-chaînes :df["Colonne"].str.replace("ancien", "nouveau")
> Vérifier la présence d’un mot :df["Colonne"].str.contains("mot")
 2. Extraction avec split :
> La méthode str.split() divise une chaîne de caractères en plusieurs morceaux selon
un séparateur défini: df["Colonne"].str.split(" ", expand=True)

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 26


EXEMPLE – MANIPULATION DES CHAÎNES

MIDDLEWARES CLOUD ET ARCHITECTURES LOGICIELLES UNIVERSITÉ INTERNATIONALE DE RABAT 27

Vous aimerez peut-être aussi