- 条件でのフィルタリング: データフレームの特定の列や複数の列に基づいて条件を指定し、条件を満たす行を抽出します。これには通常、比較演算子(<、>、==など)や論理演算子(&、|など)を使用します。
例えば、以下のコードは、"age"列が30以上かつ"gender"列が"female"の行を抽出します。
filtered_df = df[(df["age"] >= 30) & (df["gender"] == "female")]
- 文字列での部分一致:
データフレームの文字列列に対して、特定の文字列を含む行を抽出する場合、
str.contains()
メソッドを使用します。
以下の例では、"name"列に"John"を含む行を抽出します。
filtered_df = df[df["name"].str.contains("John")]
- 複数の条件でのフィルタリング:
複数の条件を組み合わせてフィルタリングする場合、
numpy
のlogical_and()
やlogical_or()
関数を使用します。
以下の例では、"age"列が30以上または"gender"列が"female"の行を抽出します。
import numpy as np
filtered_df = df[np.logical_or(df["age"] >= 30, df["gender"] == "female")]
これらは一部の一般的なフィルタリングの方法ですが、Pandasライブラリにはさまざまなフィルタリング操作があります。具体的な要件に応じて、その他の方法を調べることもできます。
以上のコード例を使ってデータフレームのフィルタリングを行うことができます。これにより、特定の条件を満たす行のみを抽出し、データの解析や処理を行うことができます。