pandasのDataFrameオブジェクトにあるqueryメソッドを使用すると、条件に合致するデータを簡単に抽出できます。このメソッドは、直感的な文字列形式で条件を指定できるため、複雑な条件でもコードを読みやすく保つことができます。
以下に、queryメソッドを使用してデータを抽出する方法を示します:
まず、サンプルのDataFrameを作成します:
import pandas as pd
sample_data = {
'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [24, 27, 22, 32],
'city': ['New York', 'Los Angeles', 'Chicago', 'Miami'],
'salary': [50000, 60000, 55000, 70000]
}
df = pd.DataFrame(sample_data)
次に、queryメソッドを使用して条件に合うデータを抽出します:
# 年齢が25歳以上のデータを抽出
result = df.query('age >= 25')
print(result)
このコードは、年齢が25歳以上の行のみを抽出します。
より複雑な条件を指定することも可能です:
# 年齢が25歳以上かつ給与が60000以上のデータを抽出
result = df.query('age >= 25 and salary >= 60000')
print(result)
文字列の条件も指定できます:
# 都市がNew YorkまたはLos Angelesのデータを抽出
result = df.query('city in ["New York", "Los Angeles"]')
print(result)
変数を使用して動的に条件を指定することも可能です:
min_age = 25
max_salary = 65000
result = df.query('age >= @min_age and salary <= @max_salary')
print(result)
queryメソッドは、条件式を文字列として受け取るため、複雑な条件でも読みやすいコードを維持できます。また、パフォーマンスの面でも最適化されているため、大規模なデータセットでも効率的に動作します。
このように、queryメソッドを使用することで、データフレームから特定の条件を満たす行を簡単に抽出できます。データ分析や前処理の際に、この方法を活用することで効率的にデータを扱うことができます。