如何在 python 中计算百分位数:带有示例


数据集的第 n 个百分位是当所有值从小到大排序时,截除数据值中前n % 的值。

例如,数据集的第 90 个百分位数是将底部 90% 的数据值与顶部 10% 的数据值分开的值。

我们可以使用numpy.percentile()函数在 Python 中快速计算百分位数,该函数使用以下语法:

numpy.percentile(a, q)

金子:

  • a:值表
  • q:要计算的百分位数或百分位数序列,必须介于 0 到 100 之间(包含 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 中的百分位数(附示例)

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注