列の値に基づいて Pandas DataFrame の行をフィルターする方法

Python

Pandas DataFrame の行のフィルタリング

Pandas は、データ操作と分析のための Python の強力なライブラリです。一般的なタスクは、SQL の SELECT * FROM table WHERE column_name = some_value と同様に、列の値に基づいて DataFrame から行を選択することです。

このガイドでは、Pandas でこれを実現するためのさまざまな方法を説明し、データを簡単に効率的にフィルタリングできるようにします。初心者でも経験豊富なユーザーでも、これらのヒントはデータ処理スキルを向上させるのに役立ちます。

指示 説明
pd.DataFrame(data) データのディクショナリから DataFrame を作成します。
df[column_name] DataFrame 内の列に名前でアクセスします。
df[condition] 列に適用された条件に基づいて DataFrame をフィルターします。
print(selected_rows) DataFrame またはそのサブセットをコンソールに出力します。
df[df['Age'] >df[df['Age'] > 25] 「年齢」列の値が 25 より大きい行を選択します。
df[df['City'] == 'Chicago'] 「City」列の値が「Chicago」と等しい行を選択します。

Pandas での DataFrame 行の選択を理解する

提供されているスクリプトは、Python の Pandas ライブラリを使用して列の値に基づいて DataFrame から行を選択する方法を示しています。最初のスクリプトは、Pandas ライブラリをインポートすることから始まります。 指示。次に、データのディクショナリを使用してサンプル データフレームを作成します。これは、 指示。次に、スクリプトは行選択のための 2 つの方法を示します。1 つは、「Age」列の値が 25 より大きい行を選択する方法です。 を使用して、「City」列の値が「Chicago」である行を選択します。 df[df['City'] == 'Chicago']。これらのフィルタリングされた DataFrame は、 選択した行を表示する関数。

2 番目のスクリプトは同様の構造に従いますが、異なるデータと選択基準を使用します。 「Product」、「Price」、「Stock」列などの製品情報を含むデータフレームを作成します。 「価格」が 200 以下の行が選択されます。

Pandas で DataFrame 行を選択するための高度なテクニック

ブール インデックスを使用した基本的なフィルタリングに加えて、Pandas は列の値に基づいて行を選択するための高度なテクニックを提供します。強力な方法の 1 つは、 この関数を使用すると、クエリ式を使用して行をフィルタリングできるため、構文がより簡潔になり、多くの場合より直感的になります。たとえば、を使用する代わりに、 、 あなたは書ける 。この方法は、より複雑な条件を扱う場合、または列名にスペースが含まれる場合に特に便利です。さらに、 isin() この関数は、値のリストに基づいて行をフィルタリングする場合に便利です。たとえば、「City」列の値が「Chicago」または「New York」のいずれかである行を選択するには、次のように使用できます。 。

もう 1 つのテクニックには、 そして インデクサー。の インデクサーはラベルベースであるため、行ラベルと列名に基づいて行を選択できます。 iloc 整数の位置に基づいており、行番号と列番号による選択が可能です。この柔軟性は、別の列に適用される条件に基づいて行を選択する場合に特に役立ちます。例えば、 これらのメソッドは、Pandas でデータを効率的に処理および分析するためのツールキットを拡張し、より読みやすく保守しやすいコードを提供します。

  1. 複数の条件に基づいて行を選択するにはどうすればよいですか?
  2. 使用できます 関数を使用するか、条件を次のような論理演算子と組み合わせます。 そして 。例えば、 df[(df['Age'] > 25) & (df['City'] == 'Chicago')]
  3. 値のリストに基づいて行をフィルターできますか?
  4. はい、使用してください 関数。例えば、 。
  5. 違いは何ですか そして ?
  6. はラベルベースですが、 整数の位置ベースです。使用 行/列ラベル付き iloc 行/列インデックス付き。
  7. 行をフィルタリングするときに特定の列を選択するにはどうすればよいですか?
  8. 使用できます 。例えば、 。
  9. 行を選択するときに欠損値を処理するにはどうすればよいですか?
  10. 使用 欠損値のある行を削除する関数、または それらを指定された値に置き換えます。
  11. 正規表現を使用して行をフィルタリングできますか?
  12. はい を使用した関数 パラメータを使用すると、正規表現パターンに基づいて行をフィルタリングできます。例えば、 。
  13. インデックスに基づいて行をフィルタリングするにはどうすればよいですか?
  14. 使用できます インデックス名を付けます。例えば、 。
  15. 列名にスペースまたは特殊文字が含まれている場合はどうなりますか?
  16. 使用 このようなバッククォート付きの列名を処理できる関数。例えば、 。

DataFrame の行選択手法に関する最終的な考え方

Pandas の列値に基づいて DataFrame から行を選択することは、データ操作にとって重要なスキルです。ブールインデックス作成など、さまざまな方法について説明しました。 、 、ラベルベースおよび整数位置ベースのインデックス作成 そして iloc、データを効率的にフィルタリングするための強力なツールを提供します。これらのテクニックを習得すると、より優れたデータ分析と、よりクリーンで保守しやすいコードが可能になります。