\

Pythonのpandasライブラリには、データフレームから特定の条件に合致するデータを抽出するためのqueryメソッドがあります。この記事では、その使い方について詳しく解説します。

数値に関する条件

数値に関する条件は、列名に対して直接条件を記述します。例えば、以下のように年齢が25より大きいデータを抽出することができます。

df_sample.query('年齢>25')

また、複数の条件を記述することも可能です。以下の例では、年齢が25歳より大きくて、偶数であるデータを抽出しています。

df_sample.query('年齢>25 & 年齢%2==0 ')

文字列に関する条件

文字列に関する条件指定も可能です。文字列の条件指定には、文字列メソッドstr.XXX()を使用します。

containsメソッド

ある文字列を含む、という条件はcontains()を使用します。

df_sample.query('動物園.str.contains("どうぶつ")', engine='python')

startswithメソッド

先頭が〇〇で始まるもの、はstartswith()で指定します。

df_sample.query('会員No.str.startswith("Z")', engine='python')

endswithメソッド

逆に〇〇で終わる、という条件でデータを抽出します。endswith()を使用します。

df_sample.query('動物園.str.endswith("動物園")', engine='python')

正規表現を使用する

queryメソッドでは、正規表現を使用することも可能です。以下の例では、startswith()endswith()と同じ条件を正規表現で抽出しています。

df_sample.query('会員No.str.contains("^Z")', engine='python')
df_sample.query('動物園.str.contains("動物園$")', engine='python')

以上、Pythonのqueryメソッドの使い方について解説しました。このメソッドを使うと、条件指定の表現が広がり、かなり複雑な条件抽出も可能となります。ぜひ活用してみてください。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です