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
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!