Pythonの強力なライブラリであるPandasは、データ解析を行うためのツールとして広く利用されています。特に、query
メソッドはデータフレームの操作や加工を容易にします。
queryメソッドの基本概要
query
メソッドは、データフレーム内のデータを条件に従って抽出するために使用されます。このメソッドを使うことで、データフレームの行をフィルタリングしたり、特定の条件にマッチする行を抽出したりできます。基本的な構文は以下の通りです。
dataframe.query('条件式')
変数を使用するqueryメソッドの使い方
query
メソッドでは、条件式の中で変数を使うことができます。これにより、動的に条件を変更することが可能になります。変数を使った条件式は、以下のように @変数名
の形で指定します。
dataframe.query('カラム名 == @変数名')
具体的な例を見てみましょう。以下のサンプルデータを用いて解説します。
import pandas as pd
data = {'名前': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'], '年齢': [25, 30, 35, 40, 45], '性別': ['F', 'M', 'M', 'M', 'F']}
df = pd.DataFrame(data)
このデータフレームから、年齢が30歳以上の人を抽出したいとします。変数を使って query
メソッドを実行しましょう。
age_threshold = 30
result = df.query('年齢 >= @age_threshold')
print(result)
実行結果は以下の通りです。
名前 年齢 性別
1 Bob 30 M
2 Charlie 35 M
3 David 40 M
4 Eve 45 F
変数 age_threshold
を使って、動的に年齢の閾値を変更できます。このように、Pandasの query
メソッドを使うことで、データフレーム内のデータを簡単に抽出・操作することができます。変数を利用することで、柔軟な条件指定も可能になります。
複数の条件を組み合わせる
query
メソッドでは、複数の条件を組み合わせてデータを抽出することもできます。条件を組み合わせる際には、&
(AND演算子)や |
(OR演算子)を使用します。複数の条件を組み合わせる場合、各条件を括弧で囲むことが重要です。
例えば、先ほどのサンプルデータを用いて、年齢が30歳以上かつ性別がF(女性)の人を抽出したい場合、以下のように記述します。
age_threshold = 30
gender = 'F'
result = df.query('(年齢 >= @age_threshold) & (性別 == @gender)')
print(result)
実行結果は以下の通りです。
名前 年齢 性別
4 Eve 45 F
以上が、Pandasの query
メソッドの使い方に関する解説です。変数を使用することで、より柔軟な条件指定が可能になり、データ解析の効率が向上します。是非、日々のデータ解析作業に活用してみてください。