Comment iloc et loc diffèrent : étiquette par rapport à l'emplacement
Comprendre la distinction
Le la principale distinction entre iloc et loc réside dans la manière dont ils accèdent aux lignes et columns:
-
loc: Localise les données à l'aide de étiquettes de ligne et de colonne. Ces étiquettes sont généralement des valeurs d'index ou des noms de colonnes.
-
iloc : Localise les données à l'aide de emplacements entiers de ligne et de colonne. Ces emplacements font référence à la position des éléments dans le DataFrame.
Démonstration
Considérez l'exemple de DataFrame ci-dessous :
Index |
Column A |
0 |
John |
1 |
Mary |
2 |
Peter |
Extraire les 5 premiers rows:
-
loc[:5] : renvoie toutes les lignes avec des étiquettes d'index de 0 à 4 (inclus).
-
iloc[ :5] : Renvoie les 5 premières lignes aux emplacements entiers 0 à 4 (exclusif).
Clarifier la différence
Pour illustrer davantage, considérons un indice non monotone :
Index |
Series |
49 |
a |
48 |
b |
47 |
c |
0 |
d |
1 |
e |
2 |
f |
Accéder au valeur à l'étiquette d'index 0 :
-
loc[0] récupère 'd' car il utilise des étiquettes d'index.
-
iloc[0] récupère 'a' car il utilise des emplacements entiers (même si l'emplacement entier de 'd' est 3).
Accéder à une tranche de rows :
-
loc[0:1] récupère les lignes avec les étiquettes d'index 0 et 1 (inclus).
-
iloc[0:1] récupère uniquement la ligne à l'emplacement d'index 0 (et n'inclut pas la ligne 1).
Considérations supplémentaires
-
Étiquettes manquantes : loc déclenche une KeyError si l'étiquette spécifiée n'est pas dans le index, tandis qu'iloc renvoie une IndexError.
-
Boolean Series : loc peut indexer via une série booléenne, tandis qu'iloc renvoie une NotImplementedError.
-
Callables : loc et iloc peuvent tous deux appliquer des callables en tant qu'indexeurs, mais ils gèrent des limite les valeurs différemment.
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!