La bibliothèque Python Pandas

1. A propos de la bibliothèque Pandas Python

Pandas est un package Python opeen source qui est le plus largement utilisé pour la science et l'analyse des données, les tâches d'apprentissage automatique... Il est construit au-dessus d'un autre package nommé Numpy, qui prend en charge les tableaux multidimensionnels. En tant que l'un des packages de traitement de données les plus populaires, Pandas fonctionne bien avec de nombreux autres modules de science des données au sein de l'écosystème Python et est généralement inclus dans chaque distribution Python.
Python utilise ce qu'on appelle les DataFrames! Mais que peut-on faire avec les DataFrames de Pandas ?
Pandas simplifie la réalisation de nombreuses tâches chronophages et répétitives associées à l'utilisation des données, notamment :

  1. Nettoyage des données
  2. Remplissage de données
  3. Normalisation des données
  4. Visualisation de données
  5. analyses statistiques
  6. Contrôle des données
  7. Chargement et sauvegarde des données
  8. Et beaucoup plus

En fait, avec Pandas, vous pouvez faire tout ce qui fait que les scientifiques de données de renommée mondiale votent Pandas comme le meilleur outil d'analyse et de manipulation de données disponible.

2. Installation de Pandas

Pandas ne s'installe pas automatiquement avec le package standard de Python, cependant si vous utiliser des distribution complètes de Python comme Anaconda, Pytschool, Pandas est déjà installé dans ce cas! Mais si vous utiliser la version standard de Python, vous pouvez l'installer très facilement en toute souplesse via l'utilitaire pip:




3. Création d'une série avec Pandas

Pandas Series est un tableau étiqueté unidimensionnel capable de contenir des données de tout type (entier, chaîne, flottant, objets python, etc.). Les étiquettes d'axe sont appelées collectivement index.

3.1 Création d'une série vide

Un premier exemple de série pandas est la série vide:

Exemple

3.2 Création d'une série à partir d'un tableau

Afin de créer une série à partir d'un tableau, nous devons importer le module numpy et utiliser la méthode numpy.array().

Exemple

3.3 Création d'une série à partir d'un tableau avec index

Afin de créer une série à partir d'un tableau avec index, nous devons fournir à index le même nombre d'éléments que dans le tableau.

Exemple

3.4 Création d'une série à partir d'un Scalaire

Si les données sont une valeur scalaire, un index doit être fourni. La valeur sera répétée pour correspondre à la longueur de l'index

Exemple




3.5 Création d'une série à partir d'un dictionnaire

Afin de créer une série à partir d'un dictionnaire, nous devons d'abord créer un dictionnaire après quoi nous pouvons créer une série. Les clés de dictionnaire sont utilisées pour construire un index.

Exemple

4. Accès aux données d'une série Pandas

On peut accéder aux données à partir d'un index facilement en spécifiant la position entre crochets.

Exemple

Ou encore:

Exemple: extraire l'élément avec son index

Exemple: extraire les données depuis un index début jusqu'à un index fin

Exemple: extraction des données à partir d'étiquette

Ou encore:

Exemple




5.DataFrame Pandas Python

un DataFrame Pandas est un type de donnée similaire à un dictionnaire où les clefs sont utilisés pour représenter les noms des colonnes et les valeurs sont représentés par des séries. DataFrame est défini comme un moyen standard de stocker des données qui ont deux index différents, c'est-à-dire un index de ligne et un index de colonne. Il se compose des propriétés suivantes :

  1. Les colonnes peuvent être de types hétérogènes comme int, bool, etc.
  2. Il peut être vu comme un dictionnaire de la structure des séries où les lignes et les colonnes sont indexées. Il est noté "colonnes" en cas de colonnes et "index" en cas de lignes.

Un DataFrame peut être créer en utilisant:

  1. Un dictionnaire Python
  2. Une liste 
  3. Un tableau Numpy ndarrrays
  4. Une série
  5. ...

5.1 DataFrame à partir d'un dictionnaire

Pour faire simple, nous allons traiter un exemple concret:
Nous souhaitons à titre d'exemple, représenter la table données suivante à l'aide d'un dataframe:

Etape1: nous commençons par convertir la table des données en un dictionnaire:

Etape2: nous faisons ensuite l'instanciation sur la classe DataFrame:

Etape3: traiter les données du dictionnaire:

5.2 DataFrame à partir d'une liste

Comme cité ci-dessus, la création de Pandas Dataframe peut être réalisée de plusieurs manières. Voyons maintenant, comment créer un Pandas DataFrame à partir de listes.

Exemple

On peut aussi utiliser une autre liste des étiquettes:

Exemple

On peut aussi ajouter un nom pour la colonne des noms:

Exemple

On peut aussi utiliser une liste multidimentionnelle afin de pouvoir représenter et renvoyer un tableau multidimentionnel:

Exemple

5.3 DataFrame à partir d'un tableau numpy

Reprenons l'exemple du paragraphe précédent. Les données du tableau peuvent être représentées par un tableau numpy:

Et on crée ensuite le dataframe en utilisant la liste des noms des colonnes:

Code final

On souhaite parfois afficher les données de certaines colonnes seulement:

Exemple (affichage des colonnes Nom et Age)




6. Opérations sur les DataFrames

6.1 Boucle à travers un DataFrame

Un DataFrame peut être traité comme un objet itérable et parcouru à l'aide d'une boucle for. Dans ce cas ce sont les colonnes du DataFrame qui seront mis en évidence !

Exemple ( afficher les colonnes d'un DataFrame)

6.2 Sélectionner une ou plusieurs colonnes d'un DataFrame

Pandas nous offre la possibilité de choisir les colonnes à afficher d'un DataFrame. Pour ce faire, il suffit de mettre entre crochets les colonnes à afficher:

Exemple ( afficher uniquement la colonne 'name')

On peut aussi faire une sélection multiple de colonnes:

Exemple (sélectionner les colonnes 'Name' et 'Section')

6.3 Ajouter une colonne à un DataFrame

Pour ajouter une colonne à un DataFrame, il suffit de créer la colonne à ajouter, et mettre à jour le DataFrame avec la commande:

A titre d'exemple, nous allons reprendre l'exemple du paragraphe précédent et ajouter la colonne 'Age':

Exemple (ajouter la colonne age)

6.4 Supprimer une colonne d'un DataFrame

Pour supprimer une colonne d'un DataFrame pandas, il suffit d'utiliser la commande del en précisant entre crochets la colonne à supprimer:

Exemple ( supprimer la colonne 'Email')

Remarque

On peut aussi supprimer une colonne en utilisant la méthode pop(). Exemple pour supprimer la colonne 'Email'  de l'exemple précédent, il suffit d'ajouter la commande:




7. Les Méthodes DataFrame Pandas

La classe DataFrame est dotée de nombreuses fonctions permettant de manipuler les données avec une grande souplesse:

    1. DataFrame.append(): Ajouter les lignes d'une autre dataframe à la fin de la dataframe donnée.
    2. DataFrame.apply(): Permet à l'utilisateur de transmettre une fonction et de l'appliquer à chaque valeur de la série Pandas.
    3. DataFrame.assign(): Ajouter une nouvelle colonne dans un dataframe.
    4. DataFrame.astype(): Convertit l'objet en une fonction dtype.astype()spécifiée.
    5. DataFrame.concat(): Effectue une opération de concaténation le long d'un axe dans le DataFrame.
    6. DataFrame.count(): Compte le nombre de cellules non NA pour chaque colonne ou ligne.
    7. DataFrame.describe(): Calcule des données statistiques comme le centile, la moyenne et la norme des valeurs numériques de la série ou du DataFrame.
    8. DataFrame.drop_duplicates(): Supprime les valeurs en double du DataFrame.
    9. DataFrame.groupby(): Divisez les données en différents groupes.
    10. DataFrame.head(): Renvoie les n premières lignes de l'objet en fonction de la position.
    11. DataFrame.hist(): Divise les valeurs d'une variable numérique en "bins".
    12. DataFrame.iterrows(): Itérer sur les lignes sous forme de paires (index, série).
    13. DataFrame.loc(): faire des sélections sur les lignes et colonnes d'un DataFrame
    14. DataFrame.mean(): Renvoie la moyenne des valeurs pour l'axe demandé.
    15. DataFrame.melt(): Dépivote le DataFrame d'un format large à un format long.
    16. DataFrame.merge(): Fusionne les deux ensembles de données en un seul.
    17. DataFrame.pivot_table(): Agrégez des données avec des calculs tels que Sum, Count, Average, Max et Min.
    18. DataFrame.query(): Filtre le dataframe.
    19. DataFrame.sample (): Sélectionnez les lignes et les colonnes de la trame de données de manière aléatoire.
    20. DataFrame.shift(): Décalez la colonne ou soustrayez la valeur de la colonne avec la valeur de la ligne précédente de la trame de données.
    21. DataFrame.sort_index():  Trie le DataFrame à partir des index.
    22. DataFrame.sort_values(): Trie le DataFrame par l'étiquette spécifiée en paramètres
    23. DataFrame.sum(): Renvoie la somme des valeurs de l'axe demandé par l'utilisateur.
    24. DataFrame.to_excel(): Exportez le dataframe vers le fichier excel.
    25. DataFrame.transpose(): Transpose l'index et les colonnes du dataframe.
    26. DataFrame.where(): Vérifiez le dataframe pour une ou plusieurs conditions.

Younes Derfoufi
CRMEF OUJDA

1 thought on “La bibliothèque Python Pandas

Leave a Reply