Python 指定列に対して、リスト内の値と一致する要素がある行を複数一括で抽出する「Pandasのquery」

  例題データは、機械学習でお馴染みのアイリスデータセットを用いました。150行×5列のデータです。

f:id:HK29:20210709231017p:plain

本記事でやりたいことは、例えば、sepal_lengthという列(カラム)に対して、5, 5.5, 6の値である行を全て抽出したい場合に適用し、次のようにします。リストの直前に@マークを付けることでリストと認識することがポイントです。

target_list = [5, 5.5, 6]
df2 = df.query('sepal_length in @target_list')
print(df2)

下図はその結果です。sepal_length列が5, 5.5, 6である行が全て一括で取得できることがわかります。

f:id:HK29:20210716235539p:plain

以上

<広告>