Maison > développement back-end > Tutoriel Python > Loc vs Iloc dans Pandas : quand dois-je utiliser chacun pour trancher ?

Loc vs Iloc dans Pandas : quand dois-je utiliser chacun pour trancher ?

Susan Sarandon
Libérer: 2024-12-24 10:41:28
original
195 Les gens l'ont consulté

Loc vs. Iloc in Pandas: When Should I Use Each for Slicing?

Découpage Loc vs. Iloc dans Pandas

Loc et iloc sont deux méthodes de découpage couramment utilisées dans Pandas, qui offrent une flexibilité dans la sélection des lignes et colonnes d'un DataFrame. Cependant, comprendre leurs différences subtiles peut prêter à confusion.

Distinction clé : étiquettes et emplacements

La principale différence entre loc et iloc réside dans le type d'indexation qu'ils utilisent :

  • Loc : Fonctionne sur étiquettes, en particulier les valeurs réelles dans les étiquettes d'index ou de colonne.
  • Iloc : Fonctionne sur des emplacements entiers, représentant la position des lignes ou colonnes dans le DataFrame.

Exemples :

Considérons un DataFrame avec un index entier non monotone :

df = pd.DataFrame({
    'a': [1, 2, 3],
    'b': [4, 5, 6],
    'c': [7, 8, 9]
}, index=[0, 2, 4])
Copier après la connexion

Loc :

  • df.loc[0] accès la ligne avec l'étiquette d'index 0, quel que soit son emplacement.
  • df.loc[0:1] récupère les lignes avec les étiquettes d'index 0 et 1.

Iloc :

  • df.iloc[0] récupère la ligne à l'emplacement d'index 0, quel que soit son index label.
  • df.iloc[0:1] accède uniquement à la première ligne car il spécifie les emplacements d'index sous forme d'entiers.

Principales différences d'utilisation :

Feature Loc Iloc
Indexing Labels Integer locations
Slicing Inclusive (by default) Exclusive (by default)
Out-of-bounds behavior KeyError IndexError
Negative indexing Supported Supported for final row only
Boolean masking NotImplementedError Supports boolean mask
Callable indexing Function applied to index Function applied to row or column

Quand utiliser Loc vs. Iloc :

  • Utilisez loc lorsque vous devez indexer en fonction d'étiquettes, telles que des noms ou des catégories spécifiques.
  • Préférez iloc pour l'indexation basée sur des nombres entiers, en particulier pour les opérations de découpage avec des points de début et de fin clairs.
  • Éviter iloc pour les opérations de masquage booléen ou l'indexation basée sur des conditions logiques.

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