Maison >développement back-end >Tutoriel Python >Comment puis-je utiliser la fonction « isin » de Pandas pour imiter les opérateurs « IN » et « NOT IN » de SQL ?

Comment puis-je utiliser la fonction « isin » de Pandas pour imiter les opérateurs « IN » et « NOT IN » de SQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-21 22:25:22166parcourir

How Can I Use Pandas' `isin` Function to Mimic SQL's `IN` and `NOT IN` Operators?

Interroger les DataFrames Pandas avec la puissance de SQL IN et NOT IN

Le filtrage des données dans les Pandas DataFrames est une tâche courante dans le traitement des données. Pandas propose diverses méthodes pour y parvenir, y compris la fonction intuitive isin. Cet article montre comment vous pouvez exploiter isin pour filtrer les données, en imitant les opérateurs IN et NOT IN de SQL.

Comprendre le problème

Les opérateurs IN et NOT IN de SQL vous permettent de filtrer les données selon qu'une valeur est contenue ou exclue d'une liste spécifiée. Cette fonctionnalité est essentielle pour isoler des enregistrements spécifiques ou supprimer des données indésirables.

Utiliser isin pour filtrer les données

Pandas propose la fonction isin, qui opère sur les objets Série. Il renvoie un masque booléen indiquant si chaque élément de la série correspond à une valeur dans une liste ou un tableau fourni.

Filtrage IN

Pour effectuer une opération IN, passez simplement la liste des valeurs que vous souhaitez faire correspondre à la fonction isin en utilisant la syntaxe suivante :

something.isin(somewhere)

NOT IN Filtrage

Pour effectuer une opération NOT IN, utilisez l'opérateur de négation ~ avant la fonction isin :

~something.isin(somewhere)

Exemple pratique

Considérez le DataFrame df suivant et une liste de pays à conserver country_to_keep :

df = pd.DataFrame({'country': ['US', 'UK', 'Germany', 'China']})
countries_to_keep = ['UK', 'China']

Pour recherchez les lignes où le pays est inclus dans country_to_keep :

df[df.country.isin(countries_to_keep)]

Sortie :

    country
1        UK
3     China

Pour rechercher les lignes où le pays n'est pas inclus dans country_to_keep :

df[~df.country.isin(countries_to_keep)]

Sortie :

    country
0        US
2   Germany

Avantages de l'utilisation isin

  • Concision : La fonction isin fournit un moyen concis d'effectuer un filtrage IN et NOT IN, réduisant ainsi le besoin de code alambiqué.
  • Flexibilité : isin peut être utilisé avec tout type de série, y compris les chaînes, les entiers et objets.
  • Efficacité : isin utilise des algorithmes optimisés pour effectuer le filtrage, ce qui le rend efficace même pour les grands ensembles de données.

En comprenant et en exploitant la fonction isin, vous peut filtrer efficacement les Pandas DataFrames en fonction des valeurs de vos listes ou tableaux spécifiés, permettant ainsi à vos tâches de traitement de données de bénéficier de la puissance de SQL IN et NOT IN opérateurs.

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!

Déclaration:
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