Maison > développement back-end > Tutoriel Python > Comment sous-définir un DataFrame Pandas en fonction de plusieurs valeurs ?

Comment sous-définir un DataFrame Pandas en fonction de plusieurs valeurs ?

Barbara Streisand
Libérer: 2024-12-16 20:37:24
original
273 Les gens l'ont consulté

How to Subset a Pandas DataFrame Based on Multiple Values?

Sous-ensemble d'un DataFrame Pandas basé sur plusieurs valeurs

Dans Pandas, le sous-ensemble d'un DataFrame basé sur une valeur spécifique est simple, comme le démontre l'exemple suivant :

import pandas as pd

# Dataframe initialization
df = pd.DataFrame({'A': [5, 6, 3, 4], 'B': [1, 2, 3, 5]})

# Subset based on a single value
x = df[df['A'] == 3]
Copier après la connexion

Cependant, le défi se pose lors de la sélection de lignes qui correspondent à une liste de valeurs. Considérez le cas d'utilisation suivant :

# List of values to filter on
list_of_values = [3, 6]

# Subset attempt (incorrect syntax)
y = df[df['A'] in list_of_values]
Copier après la connexion

Cette syntaxe entraînera une erreur, car Pandas nécessite une syntaxe légèrement différente pour créer un sous-ensemble en fonction de plusieurs valeurs.

Solution : utiliser isin() Méthode

La bonne façon de sous-ensembler un DataFrame en fonction d'une liste de valeurs consiste à utiliser la méthode isin(). Voici le code corrigé :

y = df[df['A'].isin(list_of_values)]
Copier après la connexion

Sortie :

     A  B
1    6  2
2    3  3
Copier après la connexion

La méthode isin() prend une liste ou un tableau de valeurs en entrée et renvoie un DataFrame contenant des lignes où correspond la colonne spécifiée n'importe quelle valeur dans l'entrée.

Sélection inverse

Pour sélectionner les lignes où les valeurs de colonne ne correspondent pas à la liste fournie, vous pouvez utiliser l'opérateur ~ en conjonction avec isin(). Par exemple :

# Inverse subset
z = df[~df['A'].isin(list_of_values)]
Copier après la connexion

Sortie :

   A  B
0  5  1
3  4  5
Copier après la connexion

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