Pandasにて範囲(数値)を指定して抽出する方法【query関数】

スポンサーリンク
Python3
スポンサーリンク

Jupyter notebook(Python3)を使ってみようを使ってみようと思っても慣れていないうちは、どうしても処理に躓いてしまうものです。

例えば、pandasにてデータフレームにデータを取り込む際に、数値の班値を指定して抽出する方法について理解していますか。

ここでは、このpandas(python)にて数値範囲を指定して抽出を行う方法について解説していきます。

スポンサーリンク

Pandasにて範囲を指定して抽出する方法【query関数による数値の指定】

それでは実際のデータ(架空)を用いてqurery関数を用いた数値の範囲を指定してデータを抽出する方法について解説していきます。

数値範囲を指定せずに読み込んだ場合に、以下のようなデータが得られたとします。

このデータの数値に着目し、範囲を指定し抽出していきます。

「~以上」や「~よりも大きい」と数値範囲を指定しデータ抽出を行う方法1【比較演算子】

特定の列を指定し、「~以上の数値範囲でスライスしていく場合、pythonではquery関数を活用していくといいです。以下のソースコードでは、a列に着目し30以上のデータのみを抽出しています。

df= df.query(‘a >= 30’)

30よりも大きい数値の抽出であれば、=を除去するといいです。

「~以上かつ~以下」や「~よりも大きく~未満」と数値範囲を指定しデータ抽出を行う方法2【比較演算子】

pythonにて比較演算子を範囲を指定する場合には、以下のよう対象の数値を挟み込んで条件を入れるといいです(今回は30以上50以下)。

df= df.query(’50>= a >= 30′)
以下のように出力されました。

なお、比較演算子(>や<等)の向きが逆であっても同じ結果となります。

以下のようand記号を使用しても同じ結果です。

df= df.query(‘a <= 50 and a >= 30’)

「~と一致する」と数値範囲の抽出

数値との一致条件を指定するには、以下のようコードを入れるといいです(例では56と一致するデータを出力)。

df= df.query(‘a == 56)

「~ではない(~以外)」数値範囲の抽出

続いて、上の指定条件「ではない」範囲の抽出方法を確認します。

上で紹介の比較演算子の前に「not」と入れると~以外の条件指定ができます(今回は70以下ではない→70よりも大きい)。

df= df.query(‘not a <= 70 ‘)

まとめ Pandas(Python)にて数値範囲のを指定し抽出する方法

ここでは、pythonにてquery関数を用いて範囲を指定しデータを抽出する方法について確認しました。

どのコードも直感的に理解できると思いますが、この機会にすべて覚えておくといいです。

pythonの扱いに慣れ、データ解析の効率化を図っていきましょう。

スポンサーリンク
Python3
スポンサーリンク
life-freedom888をフォローする
スポンサーリンク
ウルトラフリーダム

コメント

タイトルとURLをコピーしました