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)
    Résultat du code

    Explication du code :

    import pandas as pd importe la bibliothèque pandas, renommée ici en pd, 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éthode iloc[] (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.