Maison >développement back-end >Tutoriel Python >Comment filtrer les lignes en fonction d'une plage de valeurs dans un DataFrame sans valeurs de vérité ambiguës ?
Sélection de lignes en fonction d'une plage de valeurs dans un DataFrame
Lorsque vous travaillez avec des DataFrames, il peut être nécessaire de filtrer les lignes en fonction d'une plage spécifique de valeurs dans une colonne particulière. Par exemple, considérons un DataFrame nommé df contenant une colonne close_price. Pour extraire les lignes où les valeurs de Closure_price sont comprises entre 99 et 101, le code suivant est couramment utilisé :
df[99 <= df['closing_price'] <= 101]
Cependant, ce code peut déclencher une ValueError indiquant "la valeur de vérité ambiguë d'une série". Cette erreur se produit car la comparaison aboutit à une série de valeurs booléennes, et tenter de l'utiliser directement pour la sélection de lignes peut provoquer une ambiguïté.
Heureusement, il existe une méthode plus appropriée pour réaliser ce filtrage sans recourir à des boucles. . Voici le code corrigé à l'aide de Series.between() :
df[df['closing_price'].between(99, 101)]
Series.between() fournit un moyen simple de vérifier si les valeurs d'une série se situent dans une plage spécifiée. Cette méthode prend deux arguments : la limite inférieure et la limite supérieure. Dans l'exemple ci-dessus, nous fournissons respectivement 99 et 101 comme limites inférieure et supérieure pour sélectionner les lignes où le prix de fermeture se situe entre ces valeurs.
Cette méthode résout efficacement le problème d'ambiguïté en renvoyant une série de valeurs booléennes qui indiquez explicitement si chaque ligne répond aux critères. Ces valeurs booléennes sont ensuite utilisées pour filtrer et sélectionner les lignes souhaitées dans le DataFrame.
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!