Pour accéder à des sous-ensembles d'un DataFrame, on a plusieurs syntaxes. Les deux outils principaux sont .loc et .iloc.
df[['nom', 'age']] plusieurs colonnes → DataFrame (DOUBLES CROCHETS)
df.age équivalent à df['age'] (à éviter si nom de col ambigu)Syntaxe : df.loc[lignes, colonnes]
df.loc[0] ligne avec label 0
df.loc[0, 'nom'] cellule (ligne 0, colonne 'nom')
df.loc[:, 'nom'] toute la colonne 'nom'
df.loc[0:2] lignes 0, 1, 2 (INCLUSIF !)
df.loc[0:2, ['nom','age']]
df.loc[df['age'] > 25] filtrage par conditionAvec .loc, la fin est incluse (différent du slicing Python classique).
Syntaxe : df.iloc[indices_lignes, indices_colonnes]
df.iloc[0] première ligne (position 0)
df.iloc[0, 1] cellule (ligne 0, colonne 1)
df.iloc[0:2] lignes 0 et 1 (EXCLUSIF, comme Python)
df.iloc[-1] dernière ligne
df.iloc[:, [0, 2]] colonnes 0 et 2df[df['age'] > 25] # une condition
df[(df['age'] > 25) & (df['ville'] == 'Paris')] # deux conditions
df[df['ville'].isin(['Paris', 'Lyon'])] # appartenance
df.loc[df['age'] > 25, ['nom', 'score']] # filtre + colonnesdf = pd.DataFrame({
'nom': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35],
'score': [85, 92, 78]
})df['age'] # colonne age
df.iloc[0] # première ligne
df[df['age'] > 25] # filtre
df.loc[1, 'nom'] # 'Bob'Règle simple : utilise .loc avec des noms (et conditions), .iloc avec des indices entiers. Les deux ensemble couvrent tous les besoins.
Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →