Maison >développement back-end >Tutoriel Python >Comment filtrer les lignes DataFrame entre deux valeurs sans valeurs de vérité ambiguës ?

Comment filtrer les lignes DataFrame entre deux valeurs sans valeurs de vérité ambiguës ?

DDD
DDDoriginal
2024-11-12 22:16:011062parcourir

How to Filter DataFrame Rows Between Two Values Without Ambiguous Truth Values?

Sélection de lignes DataFrame entre deux valeurs

Pour isoler des lignes spécifiques dans un DataFrame en fonction de critères, il est essentiel de comprendre comment filtrer les lignes. Un scénario courant consiste à extraire des lignes où les valeurs d'une colonne particulière se situent dans une plage spécifiée.

Dans le scénario donné, le DataFrame df est modifié pour inclure uniquement les lignes où les valeurs de la colonne Closure_price sont comprises entre 99 et 101. . Cependant, le code fourni conduit à l'erreur :

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()

Le problème se pose car l'utilisation directe des opérateurs de comparaison (<= et >=) entre crochets peut être ambiguë lorsqu'il s'agit de séries. Pour résoudre ce problème, envisagez d'utiliser Series.between :

df = df[df['closing_price'].between(99, 101)]

En utilisant between, vous spécifiez une plage de valeurs comme critère de filtrage, éliminant ainsi le besoin de comparaisons explicites. Cette méthode définit clairement les conditions et évite l'erreur associée à l'ambiguïté de la valeur de vérité dans les séries.

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!

Déclaration:
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