Python でパーセンタイルを計算する方法: 例付き


データセットのn 番目のパーセンタイルは、すべての値を最小値から最大値の順に並べ替えたときに、データ値の上位nパーセントを切り取る値です。

たとえば、データ セットの 90 パーセンタイルは、データ値の下位 90% とデータ値の上位 10% を分ける値です。

Python では、次の構文を使用するnumpy.percentile()関数を使用してパーセンタイルをすばやく計算できます。

numpy.percentile(a, q)

金:

  • a:値の表
  • q:計算するパーセンタイルまたはパーセンタイルのシーケンス。0 ~ 100 の範囲にする必要があります。

このチュートリアルでは、この関数を使用して Python でパーセンタイルを計算する方法を説明します。

テーブルのパーセンタイルを見つける方法

次のコードは、Python で指定された配列のさまざまなパーセンタイルを検索する方法を示しています。

 import numpy as np

#make this example reproducible
n.p. random . seeds (0)

#create array of 100 random integers distributed between 0 and 500
data = np. random . randint (0, 500, 100)

#find the 37th percentile of the array
n.p. percentile (data, 37)

173.26

#Find the quartiles (25th, 50th, and 75th percentiles) of the array
n.p. percentile (data, [25, 50, 75])

array([116.5, 243.5, 371.5])

DataFrame 列のパーセンタイルを見つける方法

次のコードは、単一の pandas DataFrame 列の 95 パーセンタイル値を検索する方法を示しています。

 import numpy as np 
import pandas as pd

#createDataFrame
df = pd.DataFrame({'var1': [25, 12, 15, 14, 19, 23, 25, 29, 33, 35],
                   'var2': [5, 7, 7, 9, 12, 9, 9, 4, 14, 15],
                   'var3': [11, 8, 10, 6, 6, 5, 9, 12, 13, 16]})

#find 90th percentile of var1 column
n.p. percentile (df. var1 , 95)

34.1

複数の DataFrame 列のパーセンタイルを見つける方法

次のコードは、pandas DataFrame 内の複数の列の 95 パーセンタイル値を検索する方法を示しています。

 import numpy as np 
import pandas as pd

#createDataFrame
df = pd.DataFrame({'var1': [25, 12, 15, 14, 19, 23, 25, 29, 33, 35],
                   'var2': [5, 7, 7, 9, 12, 9, 9, 4, 14, 15],
                   'var3': [11, 8, 10, 6, 6, 5, 9, 12, 13, 16]})

#find 95th percentile of each column
df. quantile (.95)

var1 34.10
var2 14.55
var3 14.65

#find 95th percentile of just columns var1 and var2
df[[' var1 ', ' var2 ']]. quantile (.95)

var1 34.10
var2 14.55

上記の例では、pandas quantile()関数を使用してパーセンタイルを計算できたことに注意してください。

関連: R でパーセンタイルを計算する方法 (例付き)

コメントを追加する

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