Dans la bibliothèque pandas de Python, les fonctions loc et iloc sont utilisées pour découper des DataFrames. Bien qu'ils partagent certaines similitudes, ils diffèrent considérablement dans leur objectif principal et leur mécanisme sous-jacent.
loc fonctionne sur la base de étiquettes, qui sont les valeurs d'index associées aux lignes ou aux colonnes. Il récupère les lignes (ou colonnes) en faisant correspondre leurs étiquettes aux critères de sélection spécifiés. Par exemple, df.loc[:5] renverra les cinq premières lignes du DataFrame, où les étiquettes sont par ordre croissant.
iloc, quant à lui, fonctionne en fonction de emplacements entiers. Il sélectionne les lignes (ou colonnes) en fonction de leur position dans le DataFrame. Par exemple, df.iloc[:5] renverra également les cinq premières lignes, mais sa sélection est basée sur la position ordinale (index basé sur 0).
Considérons le DataFrame suivant avec un index non monotone :
s = pd.Series(list("abcdef"), index=[49, 48, 47, 0, 1, 2])
Utiliser loc et iloc pour récupérer les cinq premiers elements :
s.loc[:5] # row by row label (inclusive) s.iloc[:5] # row by row location (exclusive)
Les résultats sont différents :
0 d 1 e 2 f
49 a 48 b 47 c 0 d 1 e
Pour résumer les différences générales entre loc et iloc :
Il est important de noter qu'iloc peut également opérer sur les colonnes d'un DataFrame, mais sa syntaxe reste le même. loc, cependant, peut utiliser des étiquettes d'axe lors de la sélection des colonnes, offrant plus de flexibilité.
Pour plus d'informations, reportez-vous à la documentation pandas sur [l'indexation et le découpage](https://pandas.pydata.org/docs/ user_guide/indexing.html).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!