Pandas

15.3 Pandas

Objectifs d'apprentissage

À la fin de cette section, vous devriez être en mesure de :

  • Décrire la bibliothèque Pandas.
  • Créer un objet DataFrame et un objet Series.
  • Choisir les fonctions Pandas appropriées pour extraire des informations à partir de données hétérogènes.

Bibliothèque Pandas

Pandas est une bibliothèque Python open source utilisée pour le nettoyage, le traitement et l'analyse de données. Pandas fournit des structures de données et des outils d'analyse de données permettant d'analyser efficacement des données structurées. Le nom « Pandas » dérive du terme « panel data » (données de panel), qui fait référence à des jeux de données structurés multidimensionnels. Les principales caractéristiques de Pandas comprennent :

  • Structure de données : Pandas implémente deux structures de données principales :
    • Series : Une Series est un tableau étiqueté unidimensionnel.
    • DataFrame : Un DataFrame est une structure de données étiquetée à deux dimensions composée de colonnes et de lignes. Un DataFrame peut être assimilé à une structure de type feuille de calcul où chaque colonne représente une Series. Un DataFrame est une structure de données hétérogène dans laquelle chaque colonne peut avoir un type de données différent.
  • Fonctionnalités de traitement de données : Pandas fournit diverses fonctionnalités pour le traitement des données, telles que la sélection, le filtrage, le découpage, le tri, la fusion, la jointure et le réagencement des données.
  • Intégration avec d'autres bibliothèques : Pandas s'intègre parfaitement avec d'autres bibliothèques Python, telles que NumPy. Cette capacité d'intégration permet l'échange de données entre différents outils d'analyse et de visualisation de données.

L'alias conventionnel pour importer Pandas est pd. En d'autres termes, Pandas est importé sous la forme import pandas as pd. Des exemples d'objets DataFrame et Series sont présentés ci-dessous.

Exemple de DataFrame Exemple de Series
Name Age City
0 Emma 15 Dubai
1 Gireeja 28 London
2 Sophia 22 San Jose
0 Emma
1 Gireeja
2 Sophia
dtype: object
Tableau 15.1

Entrée et sortie de données

Un DataFrame peut être créé à partir d'un dictionnaire, d'une liste, d'un tableau NumPy ou d'un fichier CSV. Les noms et les types de données des colonnes peuvent être spécifiés au moment de l'instanciation du DataFrame.

Description Exemple Sortie Explication
DataFrame à partir d'un dictionnaire
import pandas as pd

# Create a dictionary of columns
data = {
  "Name": ["Emma", "Gireeja", "Sophia"],
  "Age": [15, 28, 22],
  "City": ["Dubai", "London", "San Jose"]
}

# Create a DataFrame from the dictionary
df = pd.DataFrame(data)

# Display the DataFrame
df
Name Age City
0 Emma 15 Dubai
1 Gireeja 28 London
2 Sophia 22 San Jose

La fonction pd.DataFrame() prend en paramètre un dictionnaire et le convertit en un DataFrame. Les clés du dictionnaire constituent les étiquettes des colonnes et les valeurs sont stockées dans les colonnes correspondantes.

DataFrame à partir d'une liste
import pandas as pd

# Create a list of rows
data = [
  ["Emma", 15, "Dubai"],
  ["Gireeja", 28, "London"],
  ["Sophia", 22, "San Jose"]
]

# Define column labels
columns = ["Name", "Age", "City"]

# Create a DataFrame from list using column labels
df = pd.DataFrame(data, columns=columns)

# Display the DataFrame
df
Name Age City
0 Emma 15 Dubai
1 Gireeja 28 London
2 Sophia 22 San Jose

La fonction pd.DataFrame() prend en paramètre une liste contenant les enregistrements des différentes lignes d'un DataFrame, ainsi qu'une liste d'étiquettes de colonnes, et crée un DataFrame avec les lignes et les étiquettes de colonnes fournies.

DataFrame à partir d'un tableau NumPy
import numpy as np
import pandas as pd

# Create a NumPy array
data = np.array([
  [1, 0, 0],
  [0, 1, 0],
  [2, 3, 4]
])

# Define column labels
columns = ["A", "B", "C"]

# Create a DataFrame from the NumPy array
df = pd.DataFrame(data, columns=columns)

# Display the DataFrame
df
A B C
0 1 0 0
1 0 1 0
2 2 3 4

Un tableau NumPy, accompagné d'étiquettes de colonnes, est transmis à la fonction pd.DataFrame() pour créer un objet DataFrame.

DataFrame à partir d'un fichier CSV
import pandas as pd

# Read the CSV file into a DataFrame
df = pd.read_csv("data.csv")

# Display the DataFrame
df
Le contenu du fichier CSV est affiché sous forme de tableau.

La fonction pd.read_csv() lit un fichier CSV dans un DataFrame et organise le contenu sous forme de tableau.

DataFrame à partir d'un fichier Excel
import pandas as pd

# Read the Excel file into a DataFrame
df = pd.read_excel("data.xlsx")

# Display the DataFrame
df
Le contenu du fichier Excel est affiché sous forme de tableau.

La fonction pd.read_excel() lit un fichier Excel dans un DataFrame et organise le contenu sous forme de tableau.

Tableau 15.2 Création de DataFrame.

Concepts en pratique

Notions de base de Pandas

1.
Laquelle des propositions suivantes est une structure de données de Pandas ?
  1. Series
  2. dictionnaire
  3. liste
2.
Un objet DataFrame peut être considéré comme une collection d'objets Series.
  1. vrai
  2. faux
3.
Quels sont les avantages de Pandas par rapport à NumPy ?
  1. Pandas offre une intégration avec d'autres bibliothèques.
  2. Pandas prend en charge des données hétérogènes, tandis que NumPy prend en charge des données numériques homogènes.
  3. Pandas prend en charge des structures de données unidimensionnelles et bidimensionnelles.

Pandas pour la manipulation et l'analyse de données

La bibliothèque Pandas fournit des fonctions et des techniques pour explorer, manipuler et extraire des informations des données. Les principales fonctions de DataFrame permettant d'analyser ce code sont décrites dans le tableau suivant.

    import pandas as pd
    import numpy as np
    
    # Create a sample DataFrame
    days = {
      'Season': ['Summer', 'Summer', 'Fall', 'Winter', 'Fall', 'Winter'],
      'Month': ['July', 'June', 'September', 'January', 'October', 'February'],
      'Month-day': [1, 12, 3, 7, 20, 28],
      'Year': [2000, 1990, 2020, 1998, 2001, 2022]
    }
    df = pd.DataFrame(days)
Season Month Month-day Year
0 Summer July 1 2000
1 Summer June 12 1990
2 Fall September 3 2020
3 Winter January 7 1998
4 Fall October 20 2001
5 Winter February 28 2022
Tableau 15.3
Nom de la fonction Explication Exemple Sortie

head(n)

Renvoie les n premières lignes. Si aucune valeur n'est fournie, les 5 premières lignes sont affichées.

df.head(4)
Season Month Month-day Year
0 Summer July 1 2000
1 Summer June 12 1990
2 Fall September 3 2020
3 Winter January 7 1998

tail(n)

Renvoie les n dernières lignes. Si aucune valeur n'est fournie, les 5 premières lignes sont affichées.

df.tail(3)
Season Month Month-day Year
3 Winter January 7 1998
4 Fall October 20 2001
5 Winter February 28 2022

info()

Fournit un résumé du DataFrame, comprenant les noms des colonnes, les types de données et le nombre de valeurs non nulles. La fonction renvoie également l'utilisation de la mémoire par le DataFrame.
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 6 entries, 0 to 5
Data columns (total 4 columns):
 #    Column        Non-Null Count    Dtype
---   ------        --------------    -----
 0    Season        6 non-null        object
 1    Month         6 non-null        object
 2    Month-day     6 non-null        int64
 3    Year          6 non-null        int64
dtypes: int64(2), object(2)
memory usage: 320.0+ bytes

describe()

Génère le nombre d'éléments, la moyenne, l'écart type, le minimum, le maximum et les quartiles des colonnes.
df.describe()
Month-day Year
count 6.000000 6.000000
mean 11.833333 2005.166667
std 10.457852 12.875040
min 1.000000 1990.000000
25% 4.000000 1998.500000
50% 9.500000 2000.500000
75% 18.000000 2015.250000
max 28.000000 2022.000000

value_counts()

Compte le nombre d'occurrences des valeurs uniques dans une colonne lorsqu'une colonne est passée en argument, et les présente par ordre décroissant.
df.value_counts \('Season')
Season
Fall  2
Summer  2
Winter  2
dtype: int64

unique()

Renvoie un tableau des valeurs uniques d'une colonne lorsqu'elle est appelée sur une colonne.
df['Season'] \.unique()
​​['Summer' 'Fall' 'Winter']
Tableau 15.4 Fonctions de DataFrame.

Concepts en pratique

Opérations sur les DataFrames

4.
Laquelle des propositions suivantes renvoie les cinq premières lignes d'un DataFrame ?
  1. df.head()
  2. df.head(5)
  3. les deux
5.
Que fait la fonction unique() dans un DataFrame lorsqu'elle est appliquée à une colonne ?
  1. renvoie le nombre de colonnes uniques
  2. renvoie le nombre de valeurs uniques dans la colonne donnée
  3. renvoie les valeurs uniques dans la colonne donnée
6.
Quelle fonction génère des informations statistiques pour les colonnes contenant des types de données numériques ?
  1. describe()
  2. info()
  3. unique()

Pour aller plus loin

Veuillez consulter le guide de l'utilisateur de Pandas pour plus d'informations sur la bibliothèque Pandas.

Exercices de programmation avec Google Colaboratory

Utilisez le document Google Colaboratory ci-dessous pour vous exercer à utiliser les fonctionnalités de Pandas permettant d'extraire des informations d'un jeu de données.

Document Google Colaboratory