Filtrer les lignes et colonnes par index positionnel
Dans certaines situations, il peut être plus pratique de sélectionner des données en fonction de leur position dans le tableau, plutôt que de leurs noms. Ce type de filtrage, appelé filtrage positionnel, consiste à accéder à des lignes ou des colonnes en utilisant leur indice numérique, c’est-à-dire leur place dans l’ordre du tableau (par exemple, la première ligne, la troisième colonne, etc.). Cette méthode est particulièrement utile lorsqu’on travaille avec des données sans étiquettes explicites ou lorsque l’on souhaite effectuer des sélections rapides et basées sur la structure du tableau.
Fonctions :
-
Filtrage par index positionnel avec iloc[]
La méthode iloc[] permet de sélectionner des lignes et des colonnes en fonction de leur position indexée dans le DataFrame. Contrairement à loc[] qui fonctionne avec les étiquettes des lignes et des colonnes, iloc[] utilise des indices positionnels pour accéder aux éléments d’un DataFrame.
Importation :
import pandas as pd
Attributs :
Paramètre Description row_index
L'index positionnel (entier ou tranche) de la ligne à sélectionner. column_index
L'index positionnel (entier ou tranche) de la colonne à sélectionner. Exemple de code :
import pandas as pd # Exemple de DataFrame data = { 'nom': ['Alice', 'Bob', 'Charlie', 'David'], 'âge': [24, 30, 35, 40], 'score': [88, 92, 75, 85], 'ville': ['Paris', 'Lyon', 'Marseille', 'Paris'] } df = pd.DataFrame(data) # Accéder à une ligne et une colonne spécifique avec iloc[] resultat_1 = df.iloc[1, 0] # Récupère la valeur à la ligne 1, colonne 0 print("Nom à la ligne 1 et colonne 0 :", resultat_1) # Accéder à un sous-ensemble de lignes et de colonnes avec iloc[] resultat_2 = df.iloc[0:3, 1:3] # Sélectionne les lignes 0 à 2 et les colonnes 1 à 2 print("\nSous-ensemble des lignes 0 à 2 et des colonnes 1 à 2 :") print(resultat_2) # Accéder à des lignes et colonnes spécifiques avec iloc[] et indices négatifs resultat_3 = df.iloc[-3:, -2:] # Sélectionne les 3 dernières lignes et les 2 dernières colonnes print("\nLes 3 dernières lignes et les 2 dernières colonnes :") print(resultat_3)
Explication du code :
import pandas as pd
importe la bibliothèque pandas, renommée ici enpd
, qui est largement utilisée pour la manipulation et l’analyse de données sous forme de tableaux appelés DataFrames.Créer un DataFrame avec des données simples
data = {'nom': ['Alice', 'Bob', 'Charlie', 'David'], 'âge': [24, 30, 35, 40], 'score': [88, 92, 75, 85], 'ville': ['Paris', 'Lyon', 'Marseille', 'Paris']}
définit un dictionnaire de listes représentant plusieurs colonnes de données (noms, âges, scores, villes).df = pd.DataFrame(data)
transforme ce dictionnaire en un DataFrame pandas nommédf
.Accéder à une valeur spécifique avec
iloc[]
resultat_1 = df.iloc[1, 0]
utilise la méthodeiloc[]
(indexation positionnelle) pour accéder à la valeur située à la ligne 1 (deuxième ligne, car l’indexation commence à 0) et à la colonne 0 (colonne "nom").print("Nom à la ligne 1 et colonne 0 :", resultat_1)
affiche la valeur correspondante, ici "Bob".Sélectionner un sous-ensemble de lignes et de colonnes
resultat_2 = df.iloc[0:3, 1:3]
sélectionne les lignes 0 à 2 (excluant la ligne 3) et les colonnes 1 et 2 (c’est-à-dire "âge" et "score").print(resultat_2)
affiche ce sous-ensemble du DataFrame.Utiliser des indices négatifs pour accéder aux dernières lignes et colonnes
resultat_3 = df.iloc[-3:, -2:]
sélectionne les 3 dernières lignes du DataFrame (grâce à-3:
) et les 2 dernières colonnes (grâce à-2:
), c’est-à-dire "score" et "ville".print(resultat_3)
affiche ce sous-ensemble à partir des extrémités du tableau.