ホームページ >バックエンド開発 >Python チュートリアル >曖昧な真理値を持たずにデータフレーム内の値の範囲に基づいて行をフィルター処理する方法

曖昧な真理値を持たずにデータフレーム内の値の範囲に基づいて行をフィルター処理する方法

DDD
DDDオリジナル
2024-11-19 10:13:03996ブラウズ

How to Filter Rows Based on Value Range in a DataFrame Without Ambiguous Truth Values?

DataFrame の値の範囲に基づいて行を選択する

DataFrame を操作する場合、特定の範囲に基づいて行をフィルタリングすることが必要になる場合があります。特定の列の値。たとえば、列クロージング_プライスを含む df という名前のデータフレームを考えてみましょう。 Closing_price の値が 99 ~ 101 の範囲にある行を抽出するには、次のコードが一般的に使用されます:

df[99 <= df['closing_price'] <= 101]

ただし、このコードは、「シリーズの曖昧な真理値」を示す ValueError をトリガーする可能性があります。このエラーは、比較の結果が一連のブール値となり、これを行選択に直接使用しようとするとあいまいさが生じる可能性があるために発生します。

幸いなことに、ループに頼らずにこのフィルタリングを実現するより適切な方法があります。 。以下は、Series.between() を使用して修正されたコードです。

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

Series.between() は、Series の値が指定された範囲内にあるかどうかを確認する簡単な方法を提供します。このメソッドは、下限と上限の 2 つの引数を受け取ります。上の例では、closed_price がこれらの値の間にある行を選択するために、下限と上限としてそれぞれ 99 と 101 を指定しています。

このメソッドは、一連のブール値を返すことで、曖昧さの問題を効果的に解決します。各行が基準を満たしているかどうかを明示的に示します。これらのブール値は、DataFrame から目的の行をフィルタリングして選択するために使用されます。

以上が曖昧な真理値を持たずにデータフレーム内の値の範囲に基づいて行をフィルター処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。