;
Aller au contenu
Moncoachdata
  • Accueil
  • Blog
  • Tutos
  • Coaching
  • Programme Data
Connexion
Moncoachdata
Logo Numpy

Maîtriser NumPy : Le compagnon indispensable pour les Data Lovers

9
  • Principes de base des tableaux Numpy
  • Inspection de tableaux array de NumPy
  • Opérations sur les tableaux NumPy
  • Travailler avec des tableaux Numpy
  • NumPy pour le nettoyage de données
  • NumPy pour l’analyse statistique
  • NumPy pour l’algèbre linéaire
  • Techniques avancées pour NumPy
  • Optimisation des performances avec NumPy
Logo Pandas

Pandas : Un manuel complet pour les Data Lovers

10
  • Structures de données Pandas
  • Chargement et inspection des données dans Pandas
  • Sélection et indexation des données avec Pandas
  • Nettoyage de données avec Pandas
  • Manipulation de données avec Pandas
  • Agrégations de données avec Pandas
  • Visualisations de données avec Pandas
  • Traitement des données de séries temporelles avec Pandas
  • Traitement des données catégorielles avec Pandas
  • Pandas : Sujets avancés
Logo Matplotlib

Maîtriser Matplotlib : Un guide complet pour la visualisation de données

4
  • Tracé de base Matplotlib
  • Types de diagrammes Matplotlib
  • Multiples subplots Matplotlib
  • Matplotlib : Fonctionnalités avancées
Logo Seaborn

Maîtriser Seaborn : Démystifier les diagrammes complexes

6
  • Introduction Seaborn
  • Diagrammes catégoriels avec Seaborn
  • Diagrammes univariés avec Seaborn
  • Diagrammes bivariés avec Seaborn
  • Diagrammes multivariés avec Seaborn
  • Diagrammes matriciels avec Seaborn
Logo Plotly

Maîtriser Plotly : Laisse tes visualisations parler à travers Plotly

3
  • Modules importants de Plotly
  • Diagrammes de base avec Plotly
  • Plotly : diagrammes avancés
Logo Machine Learning

Machine Learning : Explorer ses nombreuses formes

5
  • Comment fonctionne le Machine Learning ?
  • Apprentissage automatique supervisé
  • Apprentissage Automatique non Supervisé
  • Apprentissage semi-supervisé
  • Apprentissage par renforcement
View Categories

Sélection et indexation des données avec Pandas

Temps de lecture: 4 minutes

0:00 / 5:42
  • View as Markdown Open this page as plain Markdown (opens in a new tab)
  • Open in ChatGPT Ask questions about this page (opens in a new tab)
  • Open in Claude Ask questions about this page (opens in a new tab)
  • Open in Google AI Studio Ask questions about this page (Google account required) (opens in a new tab)
  • Open in Perplexity Ask questions about this page (opens in a new tab)
  • Open in Grok Ask questions about this page (opens in a new tab)

La sélection et l’indexation avec Pandas sont des opérations fondamentales : elles te permettent d’extraire des sous-ensembles précis de données d’un DataFrame. Dans ce tuto, on utilise ce petit jeu de données :

import pandas as pd

df = pd.DataFrame({
    "ID": [101, 102, 103, 104, 105, 106, 107],
    "Name": ["Alice", "Bob", "Charlie", "David", "Emma", "Frank", "Grace"],
    "Age": [25, 30, 35, 40, 28, 62, 19],
    "Salary": [32000, 41000, 52000, 61000, 38000, 58000, 21000],
    "City": ["Paris", "Lyon", "Paris", "Nice", "Lyon", "Paris", "Nice"],
})
print(df)
Python
    ID     Name  Age  Salary   City
0  101    Alice   25   32000  Paris
1  102      Bob   30   41000   Lyon
2  103  Charlie   35   52000  Paris
3  104    David   40   61000   Nice
4  105     Emma   28   38000   Lyon
5  106    Frank   62   58000  Paris
6  107    Grace   19   21000   Nice

Sélectionner des colonnes et des lignes #

Tu peux sélectionner des colonnes et des lignes avec les crochets [], .loc[] et .iloc[].

Les crochets pour choisir des colonnes #

Pour sélectionner une ou plusieurs colonnes par leur nom, passe une liste de noms entre crochets :

selected_columns = df[['Name', 'Salary']]
print(selected_columns.head(3))
Python
      Name  Salary
0    Alice   32000
1      Bob   41000
2  Charlie   52000

.loc[] : sélection par étiquette #

L’indexeur .loc[] sélectionne des lignes et des colonnes grâce à leurs étiquettes :

selected_data = df.loc[3:5, ['Name', 'Salary']]
print(selected_data)
Python
    Name  Salary
3  David   61000
4   Emma   38000
5  Frank   58000

Attention : avec .loc[], un découpage (slicing) inclut les deux bornes. Ici, les lignes 3, 4 et 5 sont toutes sélectionnées.

.iloc[] : sélection par position #

L’indexeur .iloc[] sélectionne les lignes et les colonnes selon leur position (un nombre entier à partir de 0), ce qui est utile pour une indexation numérique :

selected_data = df.iloc[1:4, 0:2]
print(selected_data)
Python
    ID     Name
1  102      Bob
2  103  Charlie
3  104    David

Attention : avec .iloc[], la borne de fin est exclue. Seules les lignes 1, 2 et 3 et les colonnes 0 et 1 sont affichées.

Filtrer avec des conditions #

La sélection conditionnelle filtre les lignes selon des critères précis, grâce à l’indexation booléenne. Quand tu passes à un DataFrame une liste de booléens (de la même longueur que le nombre de lignes), il ne garde que les lignes où la valeur est True.

Le masque booléen #

Crée un masque en appliquant une condition à une colonne, puis utilise-le pour filtrer les lignes :

# La condition renvoie une série de booléens : 
# True quand elle est remplie
boolean_mask = df['Age'] > 30
filtered_data = df[boolean_mask]
print(filtered_data)
Python
    ID     Name  Age  Salary   City
2  103  Charlie   35   52000  Paris
3  104    David   40   61000   Nice
5  106    Frank   62   58000  Paris

Plusieurs conditions #

Combine plusieurs conditions avec les opérateurs logiques & (ET) et | (OU). Entoure toujours chaque condition de parenthèses. Pour tester si une valeur appartient à une liste, utilise la méthode .isin().

# ET : plus de 25 ans ET salaire supérieur à 40 000
print(df[(df['Age'] > 25) & (df['Salary'] > 40000)])

# OU : moins de 20 ans OU plus de 60 ans
print(df[(df['Age'] < 20) | (df['Age'] > 60)])

# isin : la ville est Paris ou Nice
print(df[df['City'].isin(['Paris', 'Nice'])])
Python
    ID     Name  Age  Salary   City
1  102      Bob   30   41000   Lyon
2  103  Charlie   35   52000  Paris
3  104    David   40   61000   Nice
5  106    Frank   62   58000  Paris
    ID   Name  Age  Salary   City
5  106  Frank   62   58000  Paris
6  107  Grace   19   21000   Nice
    ID     Name  Age  Salary   City
0  101    Alice   25   32000  Paris
2  103  Charlie   35   52000  Paris
3  104    David   40   61000   Nice
5  106    Frank   62   58000  Paris
6  107    Grace   19   21000   Nice

Les méthodes d’indexation #

Pandas propose plusieurs méthodes pour personnaliser et réinitialiser l’index d’un DataFrame.

set_index() #

La méthode set_index() définit une ou plusieurs colonnes comme index. C’est utile pour accéder facilement aux lignes avec .loc[]. Elle renvoie un nouveau DataFrame : pour conserver le résultat, affecte-le à une variable (ou utilise inplace=True à la place, mais pas les deux à la suite : la colonne ID ne serait plus disponible la deuxième fois).

df = df.set_index('ID')
print(df.head(3))

# Avec l'index ID, on peut sélectionner une ligne par son identifiant
print(df.loc[103])
Python
        Name  Age  Salary   City
ID
101    Alice   25   32000  Paris
102      Bob   30   41000   Lyon
103  Charlie   35   52000  Paris
Name      Charlie
Age            35
Salary      52000
City        Paris
Name: 103, dtype: object

reset_index() #

La méthode reset_index() remet l’index par défaut (des entiers à partir de 0). Avec drop=True, l’ancien index est supprimé au lieu d’être conservé comme colonne :

df = df.reset_index(drop=True)
print(df.head(3))
Python
      Name  Age  Salary   City
0    Alice   25   32000  Paris
1      Bob   30   41000   Lyon
2  Charlie   35   52000  Paris

Tu sais maintenant sélectionner et filtrer un DataFrame. La suite de la série porte sur le nettoyage de données avec Pandas. Pour aller plus loin sur l’indexation, consulte la documentation officielle de Pandas.

Pour aller plus loin, consulte aussi notre guide des 10 astuces Pandas en Python.

loc et iloc ne s’apprennent qu’en les utilisant. Dans le cours Analyse et visualisation de données, tu les pratiques sur de vraies données avec des exercices corrigés.

Guide Pandas Bases

Partager ce tuto :

  • Facebook
  • X
  • LinkedIn
Chargement et inspection des données dans PandasNettoyage de données avec Pandas
Table des matières
  • Sélectionner des colonnes et des lignes
    • Les crochets pour choisir des colonnes
    • .loc[] : sélection par étiquette
    • .iloc[] : sélection par position
  • Filtrer avec des conditions
    • Le masque booléen
    • Plusieurs conditions
  • Les méthodes d'indexation
    • set_index()
    • reset_index()

Apprentissage

  • Cours accéléré NumPy
  • Nos programmes Data
  • TOP 50 fonctions NumPy
  • MasterClass DS & ML
  • MasterClass Deep Learning
  • Mon Shot de Data Science
  • Tutoriels Data Science

Le site

  • Articles
  • Coaching
  • Communauté
  • Newsletter
  • Connexion

À propos

  • CGV
  • Contact
Payment Options
Reçois chaque semaine mes meilleures pratiques en Data Science :

© 2026 MonCoachData - Data Science & Machine Learning

YouTube Discord GitHub Linkedin RSS
Défiler vers le haut
  • Accueil
  • Blog
  • Tutos
  • Coaching
  • Programme Data
Connexion
Discord DiscordYouTube YouTube
Rechercher