Maison > développement back-end > Tutoriel Python > Comment puis-je filtrer efficacement les DataFrames Pandas à l'aide des opérateurs « IN » et « NOT IN » ?

Comment puis-je filtrer efficacement les DataFrames Pandas à l'aide des opérateurs « IN » et « NOT IN » ?

Barbara Streisand
Libérer: 2024-12-29 16:22:19
original
838 Les gens l'ont consulté

How Can I Efficiently Filter Pandas DataFrames Using

Filtrer les dataframes Pandas avec "In" et "Not In" : une solution plus simple

Lorsque vous travaillez avec des dataframes Pandas, il est souvent nécessaire pour filtrer les données en fonction de critères spécifiques. Une exigence courante consiste à rechercher les lignes dans lesquelles une colonne particulière correspond ou ne correspond pas à un ensemble de valeurs prédéfinies, similaire aux opérateurs SQL "IN" et "NOT IN".

Alternative à la fusion- Approche basée

Traditionnellement, certains utilisateurs ont utilisé une approche basée sur la fusion pour réaliser ce filtrage. Bien que fonctionnelle, cette méthode est considérée comme inefficace et inutilement complexe.

Utilisation de pd.Series.isin

La solution idéale réside dans l'utilisation de la fonction pd.Series.isin. Il fournit une fonctionnalité simple pour le filtrage "IN" et "NOT IN".

Filtrage "IN"

Pour filtrer les lignes où une colonne spécifique correspond à une valeur dans un liste fournie, utilisez :

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

"PAS DANS" Filtrage

Alternativement, pour filtrer les lignes où une valeur de colonne ne correspond à aucune valeur dans une liste donnée, utilisez :

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

Exemple d'utilisation

Considérez ce qui suit exemple :

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

countries_to_keep = ['UK', 'China']

df_in = df[df.country.isin(countries_to_keep)]
df_not_in = df[~df.country.isin(countries_to_keep)]

print(df_in)
print(df_not_in)
Copier après la connexion

Sortie :

    country
1        UK
3     China
    country
0        US
2   Germany
Copier après la connexion

Comme démontré, pd.Series.isin fournit une méthode concise et efficace pour filtrer les trames de données Pandas. Il élimine le besoin d'approches alambiquées basées sur la fusion, rendant le processus de filtrage à la fois plus simple et plus performant.

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