ホームページ >バックエンド開発 >Python チュートリアル >Pandas で値の範囲に基づいて DataFrame 行をフィルターするにはどうすればよいですか?

Pandas で値の範囲に基づいて DataFrame 行をフィルターするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-14 14:43:02823ブラウズ

How Do I Filter DataFrame Rows Based on a Value Range in Pandas?

値の範囲によるデータフレーム行のフィルタリング

データフレームを操作する場合、多くの場合、特定の基準に基づいて行を選択する必要があります。このようなシナリオの 1 つは、指定された値の範囲内の行を選択することです。ループを使用することでこれを実現できますが、より効率的でベクトル化されたアプローチが推奨されます。

指定されたコード内:

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

比較における真理値があいまいであるため、エラーが発生します。これを解決するには、Pandas シリーズ クラスの between() メソッドを使用します。

解決策:

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

between() メソッドはパラメータとして 2 つの値を取ります。範囲の下限と上限を表します。条件を満たす行の場合は True、それ以外の場合は False を含むブール系列を返します。このシリーズを使用して、データフレームをフィルタリングして、必要な行のみを含めることができます。

このベクトル化されたソリューションにより、ループの使用が回避され、パフォーマンスと簡潔さが向上します。さらに、読み取りと保守がより直感的に行えます。

以上がPandas で値の範囲に基づいて DataFrame 行をフィルターするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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