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
Libérer: 2024-12-21 22:25:22
original
171 Les gens l'ont consulté

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)
Copier après la connexion

NOT IN Filtrage

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

~something.isin(somewhere)
Copier après la connexion

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']
Copier après la connexion

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

df[df.country.isin(countries_to_keep)]
Copier après la connexion

Sortie :

    country
1        UK
3     China
Copier après la connexion

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

df[~df.country.isin(countries_to_keep)]
Copier après la connexion

Sortie :

    country
0        US
2   Germany
Copier après la connexion

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!

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