Maison >développement back-end >Tutoriel Python >Comment puis-je filtrer efficacement les DataFrames Pandas à l'aide des opérateurs « IN » et « NOT IN » ?
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)
"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)
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)
Sortie :
country 1 UK 3 China country 0 US 2 Germany
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!