Pandas DataFrame.loc[] est une propriété DataFrame dans la bi­blio­thèque Python Pandas utilisée pour sé­lec­tion­ner des données dans un DataFrame en fonction d’éti­quettes. Ainsi, les lignes et les colonnes d’un DataFrame peuvent être extraites de manière ciblée.

Hé­ber­ge­ment Web
Hé­ber­ge­ment Web de pointe au meilleur prix
  • 3x plus rapide, 60 % d'éco­no­mie
  • Haute dis­po­ni­bi­lité >99,99 %
  • Seulement chez IONOS : jusqu'à 500 Go inclus

Syntaxe de Pandas loc[]

Passez en paramètre à loc[] la sélection d’éti­quettes désirée. Pour le reste, la syntaxe est très simple :

DataFrame.loc[selection]
python

Avec Pandas loc[], la sélection est prin­ci­pa­le­ment basée sur les éti­quettes. Le paramètre passé peut donc être un label unique, une liste ou une plage d’éti­quettes. Il est également possible d’utiliser des tableaux booléens.

loc[] vs. iloc[]

Alors que Pandas DataFrame.loc[] sé­lec­tionne des données basées sur des éti­quettes, DataFrame.iloc, dont la con­so­nance est similaire, est utilisé pour sé­lec­tion­ner des données basées sur des positions entières.

L’exemple suivant permet d’illustrer les dif­fé­rences entre ces deux pa­ra­mètres. Tout d’abord, on crée un Pandas DataFrame :

import pandas as pd
# Exemple de DataFrame
data = {'Nom': ['Anna', 'Bob', 'Chris'], 'Âge': [23, 35, 30]}
df = pd.DataFrame(data)
print(df)
python

Le DataFrame résultant ressemble à ce qui suit :

Nom  Âge
0  Anna    23
1    Bob    35
2 Chris    30

Pour extraire « Anna » du DataFrame, Pandas loc[] et iloc[] peuvent être utilisés. Les deux méthodes donnent le même résultat, mais loc[] utilise un index basé sur les éti­quettes alors que iloc[] utilise un index numérique.

# Utilisation de loc pour trouver l’étiquette
print(df.loc[0, 'Nom'])  # Sortie : 'Anna'
# Utilisation de iloc pour trouver la position
print(df.iloc[0, 0])  # Sortie : 'Anna'
python

Ap­pli­ca­tion de Pandas DataFrame.loc[]

Pandas loc[] vous aide à extraire des sous-ensembles de votre DataFrame. Il peut s’agir d’une ou plusieurs lignes ou colonnes : en effet, loc[] peut être utilisé dans dif­fé­rents cas.

Sélection d’une seule ligne

Nous allons main­te­nant examiner un exemple de DataFrame avec les données suivantes :

import pandas as pd
data = {
    'Nom': ['Anna', 'Bob', 'Chris'],
    'Âge': [23, 35, 30],
    'Ville': ['Paris', 'Lyon', 'Marseille']
}
df = pd.DataFrame(data)
print(df)
python

Le DataFrame résultant est le suivant :

Nom  Âge     Ville
0   Anna   23     Paris
1    Bob   35      Lyon
2  Chris   30  Marseille

Pour sé­lec­tion­ner les données de la ligne avec l’index 1 (cor­res­pon­dant à Bob), on utilise Pandas loc[] :

bob_data = df.loc[1]
print(bob_data)
python

Le résultat est conforme aux attentes :

Nom       Bob
Âge        35
Ville    Lyon
Name: 1, dtype: object

Sélection de plusieurs colonnes

Pandas DataFrame.loc[] est utile pour sé­lec­tion­ner un sous-ensemble de colonnes. En utilisant :, on sé­lec­tionne toutes les lignes. Le code suivant sé­lec­tionne les colonnes « Nom » et « Ville » pour toutes les lignes :

nom_ville = df.loc[:, ['Nom', 'Ville']]
print(nom_ville)
python

Le résultat est un sous-ensemble du DataFrame original :

Nom      Ville
0   Anna     Paris
1    Bob      Lyon
2  Chris  Marseille

Sélection con­di­tion­nelle

Avec Pandas loc[], il est également possible de filtrer les lignes en fonction d’une condition. Pour cela, il suffit d’utiliser les opé­ra­teurs booléens de com­pa­rai­son. Par exemple, dans le code suivant, toutes les personnes âgées de plus de 25 ans doivent être filtrées :

older_than_25 = df.loc[df['Âge'] > 25]
print(older_than_25)
python

Le code ci-dessus renvoie le DataFrame suivant, qui ne contient plus que les données des personnes âgées de plus de 25 ans :

Nom  Âge        Ville
1    Bob    35        Lyon
2 Chris    30  Marseille
Aller au menu principal