Pandas DataFrame.loc[] est une propriété DataFrame dans la bibliothèque Python Pandas utilisée pour sélectionner des données dans un DataFrame en fonction d’étiquettes. Ainsi, les lignes et les colonnes d’un DataFrame peuvent être extraites de manière ciblée.

Hébergement Web
Hébergement Web flexible, performant et sûr
  • Certificat SSL et protection DDoS
  • Sauvegarde et restauration des données
  • Assistance 24/7 et conseiller personnel

Syntaxe de Pandas loc[]

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

DataFrame.loc[selection]
python

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

loc[] vs. iloc[]

Alors que Pandas DataFrame.loc[] sélectionne des données basées sur des étiquettes, DataFrame.iloc, dont la consonance est similaire, est utilisé pour sélectionner des données basées sur des positions entières.

L’exemple suivant permet d’illustrer les différences entre ces deux paramè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 étiquettes 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

Application 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 différents cas.

Sélection d’une seule ligne

Nous allons maintenant 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électionner les données de la ligne avec l’index 1 (correspondant à 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électionner un sous-ensemble de colonnes. En utilisant :, on sélectionne toutes les lignes. Le code suivant sélectionne 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 conditionnelle

Avec Pandas loc[], il est également possible de filtrer les lignes en fonction d’une condition. Pour cela, il suffit d’utiliser les opérateurs booléens de comparaison. 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
Cet article vous a-t-il été utile ?
Aller au menu principal