Pandasデータフレームで特定の値のリストに基づいて行を選択する方法
Pandasデータフレームでは、特定の値のリストに基づいて行を選択することがよくあります。これは、データ解析やデータ処理の際に特定の条件に合致するデータのみを抽出したい場合に非常に便利です。以下にその方法をいくつかのサンプルコードと共に紹介します。
方法1: isin()メソッドを使用する
isin()メソッドを使用すると、指定した値のリストに含まれているデータのみを簡単に選択することができます。以下の例では、’City’列から特定の都市のデータ行を選択しています。
import pandas as pd # サンプルデータフレームを作成 data = {'City': ['Tokyo', 'Osaka', 'Nagoya', 'Kyoto', 'Fukuoka'], 'Population': [13929286, 2691944, 2293890, 1474570, 1538394]} df = pd.DataFrame(data) # 'City'列で特定の都市を選択 cities = ['Tokyo', 'Kyoto'] selected_df = df[df['City'].isin(cities)] print(selected_df)
方法2: numpyのwhere()を使用する
NumPyのwhere関数を使っても、条件に合う行を選択することができます。以下の例では、’Population’列が200万以上の都市を選択しています。
import pandas as pd import numpy as np # サンプルデータフレームを作成 data = {'City': ['Tokyo', 'Osaka', 'Nagoya', 'Kyoto', 'Fukuoka'], 'Population': [13929286, 2691944, 2293890, 1474570, 1538394]} df = pd.DataFrame(data) # 'Population'列で200万以上の都市を選択 selected_df = df[np.where(df['Population'] >= 2000000, True, False)] print(selected_df)
方法3: query()メソッドを使用する
データフレームのqueryメソッドを使用すると、SQLのようなクエリ言語を使って行を選択することができます。以下の例では、’Population’列が150万以上の都市を選択しています。
import pandas as pd # サンプルデータフレームを作成 data = {'City': ['Tokyo', 'Osaka', 'Nagoya', 'Kyoto', 'Fukuoka'], 'Population': [13929286, 2691944, 2293890, 1474570, 1538394]} df = pd.DataFrame(data) # 'Population'列で150万以上の都市を選択 selected_df = df.query('Population >= 1500000') print(selected_df)
これらの方法を使って、Pandasデータフレームから特定の条件に合致する行を効率的に選択することができます。使用するメソッドは、データの特性や解析の目的に応じて選ぶと良いでしょう。