Skip to content

Utilisation de DataFrame.loc pour accéder et manipuler les données dans Pandas

et la manipulation sont essentielles à tout projet de science des données, et la bibliothèque Pandas est l'un des outils les plus populaires utilisés pour ces tâches. Au sein de Pandas, la méthode loc[] est souvent utilisée pour accéder et filtrer les données dans un DataFrame par label ou tableau booléen. Dans cet article, nous explorerons la syntaxe et les exemples d'utilisation de DataFrame loc[] de Pandas et nous découvrirons ses avantages par rapport aux autres méthodes.

Vous voulez créer rapidement des visualisations de données en Python ?

PyGWalker est un projet Python Open Source qui peut aider à accélérer le flux de travail d'analyse et de visualisation des données directement dans un environnement basé sur Jupyter Notebook.

PyGWalker (opens in a new tab) transforme votre DataFrame Pandas (ou DataFrame Polars) en une interface utilisateur visuelle où vous pouvez faire glisser-déposer des variables pour créer facilement des graphiques. Utilisez simplement le code suivant :

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Vous pouvez exécuter PyGWalker dès maintenant avec ces notebooks en ligne :

Et n'oubliez pas de nous donner une ⭐️ sur GitHub !

Exécuter PyGWalker dans le notebook Kaggle (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)Donner une ⭐️ à PyGWalker sur GitHub (opens in a new tab)
Exécuter PyGWalker dans le notebook Kaggle (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)

Qu'est-ce que DataFrame loc[] de Pandas ?

DataFrame loc[] de Pandas est une méthode permettant de sélectionner et de filtrer les données dans un DataFrame Pandas. La méthode loc[] prend un ou deux arguments, qui peuvent être soit un label de ligne, soit un tableau booléen. Lorsqu'un label de ligne est fourni, loc[] renvoie un DataFrame contenant la ou les lignes correspondant au label. Lorsqu'un tableau booléen est fourni, loc[] renvoie un DataFrame contenant la ou les lignes où le tableau booléen est True.

Comment utiliser DataFrame loc[] de Pandas ?

Accéder aux lignes et aux colonnes par label(s) en utilisant DataFrame loc[] de Pandas est assez simple. Voici un exemple :

import pandas as pd
 
# Création d'un DataFrame d'exemple
df = pd.DataFrame({'Age': [23, 24, 25, 26], 
                   'Name': ['John', 'Mike', 'Sarah', 'Rachel'], 
                   'Marks': [85, 90, 80, 95], 
                   'ID': ['A101', 'A102', 'A103', 'A104']})
 
# Accéder à une ligne en utilisant le label de la ligne
row = df.loc[1]
 
# Accéder à plusieurs lignes en utilisant une liste de labels de ligne
rows = df.loc[[0, 2]]
 
# Accéder à une colonne en utilisant le label de la colonne
ages = df.loc[:, 'Age']
 
# Accéder à plusieurs colonnes en utilisant une liste de labels de colonne
subset = df.loc[:, ['Name', 'Marks']]

Dans l'exemple ci-dessus, nous avons créé un DataFrame d'exemple avec quatre lignes et quatre colonnes. Nous utilisons loc[] pour accéder aux lignes et aux colonnes par label(s). Lorsque nous fournissons un seul label à loc[], il renvoie une série Pandas, et lorsque plusieurs labels sont fournis, il renvoie un DataFrame.

Nous pouvons également filtrer les lignes en fonction d'une condition donnée en utilisant loc[]. Voici un exemple :

# Filtrer les lignes en fonction d'une condition
filtered_df = df.loc[df['Age'] > 24]

Dans l'exemple ci-dessus, nous utilisons loc[] pour filtrer les lignes où la colonne Age est supérieure à 24.

Quels sont les avantages de l'utilisation de DataFrame loc[] de Pandas ?

Un des principaux avantages de l'utilisation de DataFrame loc[] de Pandas est sa capacité à gérer l'indexation basée sur les labels. Comme l'indexation basée sur les labels est plus intuitive et lisible que l'indexation basée sur les entiers, l'utilisation de loc[] peut rendre votre code plus expressif et moins sujet aux erreurs.

Un autre avantage de loc[] est que vous pouvez également l'utiliser pour assigner de nouvelles valeurs à un sous-ensemble du DataFrame.

# Changer les valeurs pour des lignes spécifiques
df.loc[0:1, 'Age'] = 24

Dans l'exemple ci-dessus, nous utilisons loc[] pour changer la valeur de l'âge des deux premières lignes du DataFrame.

En quoi DataFrame loc[] de Pandas est-il différent de DataFrame iloc[] de Pandas ?

DataFrame iloc[] de Pandas est similaire à loc[], mais au lieu d'une indexation basée sur les labels, iloc[] utilise une indexation basée sur les entiers. Voici un exemple :

# Accéder à la première ligne en utilisant iloc[]
df.iloc[0]
 
# Accéder aux lignes et aux colonnes en utilisant la position entière
df.iloc[0:2, 1:3]

Dans le premier exemple, nous accédons à la première ligne du DataFrame en utilisant iloc[]. Dans le deuxième exemple, nous utilisons iloc[] pour accéder à un sous-ensemble du DataFrame en utilisant des positions entières.

Bien que iloc[] soit plus rapide que loc[], il est moins expressif et peut entraîner des erreurs si le DataFrame est modifié. De plus, comme iloc[] utilise des positions entières, il peut devenir confus si le DataFrame est trié ou modifié, tandis que loc[] est plus résistant à de tels changements.

Pouvez-vous sélectionner/filtrer des lignes et des colonnes par noms/labels en utilisant DataFrame loc[] de Pandas ?

Oui, vous pouvez sélectionner / filtrer des lignes et des colonnes par étiquettes en utilisant la fonction DataFrame loc[] de Pandas. Voici un exemple:

# Filtrer les lignes en utilisant le nom de colonne et une condition
filtered_df = df.loc[df['Name'] == 'Mike']
 
# Accéder à un sous-ensemble de lignes et de colonnes en utilisant les étiquettes
subset_df = df.loc[0:1, ['Name', 'Age']]

Dans le premier exemple, nous utilisons loc[] pour filtrer les lignes en fonction d'une colonne de condition à l'aide d'une étiquette de colonne. Dans le deuxième exemple, nous accédons à un sous-ensemble de lignes et de colonnes en utilisant loc[] et des étiquettes de colonnes.

Conclusion

Dans cet article, nous avons exploré la méthode loc[] de DataFrame de Pandas, sa syntaxe et ses exemples, ainsi que ses avantages par rapport à d'autres méthodes. Nous avons montré comment loc[] peut être utilisé pour accéder et filtrer les données en fonction d'une étiquette ou d'un tableau booléen, et comment il diffère de l'indexation basée sur les entiers en utilisant iloc[]. En utilisant DataFrame loc[] de Pandas, vous pouvez écrire un code plus expressif et robuste pour l'analyse et la manipulation de données en Python.