ConsigneSélectionne des lignes et colonnes avec loc et iloc
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 0df.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 lignedf.iloc[:, [0, 2]] colonnes 0 et 2df[df['age'] > 25] # une conditiondf[(df['age'] > 25) & (df['ville'] == 'Paris')] # deux conditionsdf[df['ville'].isin(['Paris', 'Lyon'])] # appartenancedf.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 agedf.iloc[0] # première lignedf[df['age'] > 25] # filtredf.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 →