Maison > développement back-end > Tutoriel Python > Quelle est la différence entre « iloc » et « loc » de Pandas pour la sélection de données ?

Quelle est la différence entre « iloc » et « loc » de Pandas pour la sélection de données ?

Barbara Streisand
Libérer: 2024-12-16 18:04:21
original
708 Les gens l'ont consulté

What's the Difference Between Pandas' `iloc` and `loc` for Data Selection?

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal