Création de DataFrames Pandas

PandasBeginner
Pratiquer maintenant

Introduction

Bienvenue dans le monde de la manipulation de données avec Pandas ! Un DataFrame est une structure de données tabulaire bidimensionnelle, de taille mutable et potentiellement hétérogène, avec des axes étiquetés (lignes et colonnes). C'est l'une des structures de données les plus couramment utilisées dans l'analyse de données moderne.

Dans ce laboratoire, vous apprendrez les méthodes fondamentales pour créer un DataFrame Pandas. Nous commencerons par créer un DataFrame à partir d'un simple dictionnaire Python, puis nous explorerons comment personnaliser ses colonnes et son index. Vous effectuerez toutes les tâches au sein du WebIDE, en écrivant et en exécutant des scripts Python.

Créer un DataFrame à partir d'un dictionnaire

Dans cette étape, vous apprendrez la méthode la plus courante pour créer un DataFrame Pandas : à partir d'un dictionnaire Python. Lorsque vous utilisez un dictionnaire, les clés deviennent les noms des colonnes, et les valeurs (qui sont généralement des listes ou des tableaux) deviennent les données de ces colonnes.

Tout d'abord, ouvrez le fichier main.py depuis l'explorateur de fichiers sur le côté gauche de votre WebIDE.

Maintenant, ajoutez le code suivant au fichier main.py. Ce code importe la bibliothèque Pandas et définit un dictionnaire de données d'étudiants. Ensuite, il utilise pd.DataFrame() pour convertir le dictionnaire en DataFrame et affiche le résultat.

import pandas as pd

## Données dans un dictionnaire
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Créer un DataFrame à partir du dictionnaire
df = pd.DataFrame(student_data)

## Afficher le DataFrame
print(df)

Pour exécuter votre script, ouvrez un terminal dans le WebIDE (Terminal -> New Terminal) et exécutez la commande suivante. Tout votre travail doit être effectué dans le répertoire ~/project.

python3 main.py

Vous devriez voir la sortie suivante, qui montre vos données de dictionnaire soigneusement organisées en un tableau avec des index de ligne par défaut commençant à 0.

      Name  Score
0    Alice     85
1      Bob     92
2  Charlie     78

Spécifier les noms de colonnes dans le DataFrame

Dans cette étape, vous apprendrez comment contrôler l'ordre des colonnes dans votre DataFrame. Par défaut, Pandas peut ne pas conserver l'ordre des clés de votre dictionnaire. Vous pouvez définir explicitement l'ordre des colonnes en passant une liste de noms de colonnes au paramètre columns.

Modifions le fichier main.py pour spécifier l'ordre des colonnes. Nous allons intervertir les colonnes 'Name' et 'Score'.

Mettez à jour votre fichier main.py avec le code suivant. Remarquez l'ajout du paramètre columns dans la fonction pd.DataFrame().

import pandas as pd

## Données dans un dictionnaire
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Créer un DataFrame et spécifier l'ordre des colonnes
df = pd.DataFrame(student_data, columns=['Score', 'Name'])

## Afficher le DataFrame
print(df)

Exécutez à nouveau le script dans votre terminal :

python3 main.py

La sortie affichera maintenant la colonne 'Score' en premier, comme vous l'avez spécifié.

   Score     Name
0     85    Alice
1     92      Bob
2     78  Charlie

Ajouter des étiquettes d'index au DataFrame

Dans cette étape, vous apprendrez comment remplacer l'index numérique par défaut (0, 1, 2, ...) par des étiquettes plus significatives. Ceci est fait en utilisant le paramètre index, qui vous permet d'assigner un index personnalisé à chaque ligne.

Attribuer des identifiants d'étudiants uniques comme index pour notre DataFrame. Modifiez votre fichier main.py pour inclure une liste d'étiquettes d'index.

Mettez à jour le code dans main.py comme suit :

import pandas as pd

## Données dans un dictionnaire
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Définir des étiquettes d'index personnalisées
index_labels = ['ID1', 'ID2', 'ID3']

## Créer un DataFrame avec un index personnalisé
df = pd.DataFrame(student_data, index=index_labels)

## Afficher le DataFrame
print(df)

Exécutez le script depuis votre terminal :

python3 main.py

Vous verrez maintenant l'index numérique par défaut remplacé par vos étiquettes 'ID' personnalisées.

        Name  Score
ID1    Alice     85
ID2      Bob     92
ID3  Charlie     78

Accéder aux colonnes du DataFrame avec la notation par points

Dans cette étape, vous apprendrez une manière pratique d'accéder à une seule colonne d'un DataFrame : la notation par point. Si le nom d'une colonne est un identifiant Python valide (sans espaces, ne commence pas par un chiffre, etc.), vous pouvez y accéder comme un attribut de l'objet DataFrame.

Utilisons la notation par point pour sélectionner et afficher uniquement la colonne 'Name' de notre DataFrame.

Modifiez votre fichier main.py pour accéder à la colonne Name et l'afficher.

import pandas as pd

## Données dans un dictionnaire
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Créer un DataFrame
df = pd.DataFrame(student_data)

## Accéder et afficher la colonne 'Name' en utilisant la notation par point
print(df.Name)

Exécutez le script dans votre terminal :

python3 main.py

La sortie sera une série Pandas (Pandas Series), qui est essentiellement une seule colonne d'un DataFrame.

0      Alice
1        Bob
2    Charlie
Name: Name, dtype: object

Afficher les informations du DataFrame avec la méthode info

Dans cette étape, vous apprendrez à utiliser la méthode .info(). Il s'agit d'une fonction essentielle qui fournit un résumé concis d'un DataFrame, y compris les types de données de chaque colonne, le nombre de valeurs non nulles et l'utilisation de la mémoire. C'est une excellente première étape lors de l'exploration d'un nouvel ensemble de données.

Appliquons la méthode .info() à notre DataFrame d'étudiants.

Modifiez le fichier main.py pour appeler cette méthode. Notez que .info() affiche directement le résumé, vous n'avez donc pas besoin de l'encapsuler dans une fonction print().

import pandas as pd

## Données dans un dictionnaire
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Créer un DataFrame
df = pd.DataFrame(student_data)

## Afficher un résumé du DataFrame
df.info()

Exécutez le script depuis votre terminal :

python3 main.py

La sortie vous donne un aperçu détaillé de la structure et du contenu de votre DataFrame.

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 2 columns):
 ##   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   Name    3 non-null      object
 1   Score   3 non-null      int64
dtypes: int64(1), object(1)
memory usage: 176.0+ bytes

Résumé

Félicitations pour avoir terminé ce laboratoire ! Vous avez appris les techniques fondamentales pour créer et inspecter des DataFrames Pandas.

Dans ce laboratoire, vous avez maîtrisé :

  • La création d'un DataFrame à partir d'un dictionnaire Python.
  • La spécification et le réordonnancement des colonnes à l'aide du paramètre columns.
  • L'attribution d'étiquettes de ligne personnalisées à l'aide du paramètre index.
  • L'accès à une colonne spécifique à l'aide de la notation par point pratique.
  • L'obtention d'un résumé concis de la structure d'un DataFrame avec la méthode .info().

Ces compétences sont les premières étapes essentielles pour toute tâche d'analyse de données utilisant Pandas. Vous êtes maintenant bien équipé pour commencer à créer vos propres ensembles de données pour une exploration plus approfondie.