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


在统计学中,十分位数是将数据集分为频率相等的十组的数字。

第一个十分位数是所有数据值的 10% 低于的点。第二个十分位数是所有数据值的 20% 低于的点,依此类推。

我们可以使用以下语法在 Python 中计算数据集的十分位数:

 import numpy as np

n.p. percentile (var, np. arange (0, 100, 10))

下面的例子展示了如何在实际中使用这个功能。

示例:在 Python 中计算十分位数

以下代码展示了如何创建一个包含 20 个值的假数据集,然后计算该数据集的十分位数值:

 import numpy as np

#createdata
data = np. array ([56, 58, 64, 67, 68, 73, 78, 83, 84, 88,
                 89, 90, 91, 92, 93, 93, 94, 95, 97, 99])

#calculate deciles of data
n.p. percentile (data, np. arange (0, 100, 10))

array([56., 63.4, 67.8, 76.5, 83.6, 88.5, 90.4, 92.3, 93.2, 95.2])

十分位的解释方法如下:

  • 所有数据值中有 10% 小于63.4
  • 所有数据值中有 20% 小于67.8
  • 所有数据值中有30%小于76.5
  • 所有数据值中有 40% 小于83.6
  • 所有数据值中有 50% 小于88.5
  • 所有数据值中有 60% 小于90.4
  • 所有数据值中有 70% 小于92.3
  • 所有数据值中的 80% 小于93.2
  • 所有数据值中的 90% 都小于95.2

请注意,输出 (56) 的第一个值仅指示数据集的最小值。

示例:在 Python 中将值置于十分位数中

要将每个数据值放入十分位数,我们可以使用 pandas qcut函数。

以下是如何将此函数用于我们在上一个示例中创建的数据集:

 import pandas as pd

#create data frame
df = pd. DataFrame ({' values ': [56, 58, 64, 67, 68, 73, 78, 83, 84, 88,
                              89, 90, 91, 92, 93, 93, 94, 95, 97, 99]})

#calculate decile of each value in data frame
df[' Decile '] = pd. qcut (df[' values '], 10, labels= False )

#display data frame
df

	values Decile
0 56 0
1 58 0
2 64 1
3 67 1
4 68 2
5 73 2
6 78 3
7 83 3
8 84 4
9 88 4
10 89 5
11 90 5
12 91 6
13 92 6
14 93 7
15 93 7
16 94 8
17 95 8
18 97 9
19 99 9

结果解释方式如下:

  • 数据值 56 介于百分位数 0% 和 10% 之间,因此它位于十分位数0中。
  • 数据值 58 介于百分位数 0% 和 10% 之间,因此它位于十分位数0中。
  • 数据值 64 位于 10% 和 20% 百分位数之间,因此它位于十分位数1中。
  • 数据值 67 落在 10% 和 20% 百分位数之间,因此它落入十分位数1
  • 数据值 68 落在 20% 和 30% 百分位数之间,因此它落入十分位数2

等等。

其他资源

如何在Python中计算百分位数
如何在Python中计算四分位数范围

添加评论

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