Jupyter notebook(Python3)を使ってみようと思っても慣れていないうちは、どうしても処理に躓いてしまうものです。
例えば、Pythonのpandas機能によって四分位数(第一四分位数や第三四分位数など)や四分位範囲を求めたり、そこから外れ値を求める方法について理解していますか。
ここでは、これらpandasにおける四分位数(分位点)や四分位範囲と外れ値を求める(検出する)方法について解説していきます。
pandas(Python)にて四分位数(第一四分位数や第三四分位数)と四分位範囲を計算する方法【quantile関数】
それではPythonのPandasにて四分位数を求める方法について確認していきます。以下のcsvデータを使っていきます。
まず、第一四分位数を計算するには、
df[”抽出したい列”].quantile(0.25)
と入れることで、指定の列の四分位数(第一四分位数)を出力してくれます。
pandas(Python)で第三四分位数を計算してみる【quantile関数】
同様にpythonにて第三四分位数を求めていきましょう。
第三四分位数では使うのは上と同様にquantile関数ですが中身を0.75と指定することで出力されます。
df[“capacity”].quantile(0.75)
pandas(python)にて四分位範囲と外れ値を計算する
なお、四分位範囲=第三四分位数ー第一四分位数で計算できるために、python上でもこの数式を用いて計算していけばいいのです。
以下のコードを用います。
q1= df[“capacity”].quantile(0.25)
q2= df[“capacity”].quantile(0.75)
iqr=q2-q1
q2= df[“capacity”].quantile(0.75)
iqr=q2-q1
そして、
・第一四分位数ー1.5×四分位範囲以下
・第三四分位数+1.5×四分位範囲以上
の範囲にデータが含まれた場合、そのデータは外れ値であると判断できます。以下のコードで外れ値のみを抽出できます。
max= q2 + 1.5*(iqr) #範囲指定max
min= q1 – 1.5*(iqr) #範囲指定min
dfa = df[(df[“capacity”]< min) | (df[“capacity”] > max)]
dfa
min= q1 – 1.5*(iqr) #範囲指定min
dfa = df[(df[“capacity”]< min) | (df[“capacity”] > max)]
dfa
まとめ pandas(python)にて四分位数(分位点)や四分位範囲と外れ値を求める(検出する)方法【quantile】
ここでは、pythonにて四分位数(分位点)や四分位範囲を計算し、そこから外れ値を検出する方法について解説しました。
第一四分位点や第三四分位点の計算をpandasで実施するためには、quantile関数を用いるといいです。
pandasの各操作に慣れ、データ処理をより円滑に進めていきましょう。
コメント