サイトアイコン アマチュア無線局JS2IIU

【Pandas】describeメソッドでパーセンタイルを細かく計算する

Pandasのdescribeメソッドは、統計的な要約情報を簡単に取得できる便利な機能です。この記事では、describeメソッドの基本的な使い方から、percentilesパラメータを活用して任意のパーセンタイル(百分位数)を計算する方法について解説します。

パーセンタイルとは?

パーセンタイル(Percentile)は、データの値を小さい順に並べたときに、全体の何%のデータが特定の値以下であるかを示す指標です。たとえば、次のように理解できます:

このように、パーセンタイルを活用することで、データの分布や偏りを視覚的かつ直感的に把握することができます。特に、極端に小さい値(下位パーセンタイル)や大きい値(上位パーセンタイル)を確認する際に便利です。

使用例

例えば、試験の点数を例に考えてみます。

このように、パーセンタイルはデータセットにおける相対的な位置を示す重要な指標として利用されます。

describeメソッドの基本

describeメソッドは、DataFrameやSeriesの統計的な概要を取得するために使用されます。デフォルトでは以下のような統計情報を返します:

上の図に示しているサンプルの元データCSVファイルはこちらから参照して下さい。

Pandas_sampledata/data/exam_results.csv at main · JS2IIU-MH/Pandas_sampledata
Sample data for Pandas demo programs. Contribute to JS2IIU-MH/Pandas_sampledata development by creating an account on GitHub.

サンプルコード(基本例)

以下のようなサンプルデータを用意し、describeメソッドを適用します。

Python
import pandas as pd

# サンプルデータ
data = {
    'A': [10, 20, 30, 40, 50],
    'B': [15, 25, 35, 45, 55],
}
df = pd.DataFrame(data)

# describeメソッドの適用
summary = df.describe()
print(summary)

出力結果:

Plaintext
               A          B
count   5.000000   5.000000
mean   30.000000  35.000000
std    15.811388  15.811388
min    10.000000  15.000000
25%    20.000000  25.000000
50%    30.000000  35.000000
75%    40.000000  45.000000
max    50.000000  55.000000

percentilesパラメータを使用して特定のパーセンタイルを計算する

describeメソッドのpercentilesパラメータを利用すると、デフォルトの25%, 50%, 75%以外のパーセンタイルを指定できます。例えば、10%, 50%, 90%といった指定が可能です。

サンプルコード(percentilesの活用)

Python
# describeメソッドで特定のパーセンタイルを指定
custom_summary = df.describe(percentiles=[0.1, 0.5, 0.9])
print(custom_summary)

出力結果:

Plaintext
               A          B
count   5.000000   5.000000
mean   30.000000  35.000000
std    15.811388  15.811388
min    10.000000  15.000000
10%    14.000000  19.000000
50%    30.000000  35.000000
90%    46.000000  51.000000
max    50.000000  55.000000

ここでは、10%, 50%, 90%の値が計算され、四分位点とは異なる詳細な情報が得られることが分かります。

まとめ

Pandasのdescribeメソッドは、データの統計的な要約を得るための強力なツールです。percentilesパラメータを活用することで、デフォルトの四分位点以外の特定のパーセンタイルを計算できます。これにより、データの分布をより詳細に把握することが可能です。

利用シーン

参考リンク

少しだけPRです。

Pandasについて詳しく知りたいかた、もっと使いこなしたい方におすすめの本です。数年前に購入しましたが、今も手元に置いて時々見返しています。「pandasクックブック Pythonによるデータ処理のレシピ」Theodore Petrou著、黒川利明訳。

最後まで読んでいただきありがとうございます。73

モバイルバージョンを終了