Filtrage des DataFrames par valeurs de colonne dans une liste
Lorsque vous travaillez avec des DataFrames pandas, il est important de pouvoir filtrer les lignes en fonction de critères précis. L'un des scénarios courants consiste à sélectionner des lignes dans lesquelles une valeur de colonne est présente dans une liste fournie.
Par exemple, considérons le DataFrame rpt avec les colonnes STK_ID, STK_Name, RPT_Date et sales. Nous pouvons facilement filtrer les lignes pour un ID de stock spécifique à l'aide de l'opérateur == :
rpt[rpt['STK_ID'] == '600809']
Cependant, que se passe-t-il si nous voulons filtrer les lignes où la colonne STK_ID contient des valeurs d'une liste, telle que ['600809 ','600141','600329'] ? Utiliser l'opérateur == avec une liste ne fonctionne pas dans les pandas.
Pour y parvenir, nous pouvons utiliser la méthode isin :
stk_list = ['600809','600141','600329'] rpt[rpt['STK_ID'].isin(stk_list)]
La méthode isin vérifie si les valeurs des colonnes sont présentes dans la liste fournie et renvoie un masque booléen. Le DataFrame résultant contiendra uniquement les lignes où la valeur STK_ID correspond à au moins une des valeurs de la liste.
Cette méthode est particulièrement utile lorsqu'il s'agit de grands DataFrames ou lorsque la liste de valeurs à filtrer est dynamique. ou change fréquemment.
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!