为了账号安全,请及时绑定邮箱和手机立即绑定

如何计算给定值数组的百分位数?

如何计算给定值数组的百分位数?

撒科打诨 2023-10-26 16:48:53
我想计算 10%、50% 和 90% 的百分位值。因此,输入将是您想要查找的百分位数和要计算的值数组。我该怎么做?统计数据已经有一段时间了...powershell 或 python 的帮助将不胜感激。编辑:抱歉,我的意思是创建自己的函数而不是使用预构建的函数/库
查看完整描述

3 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

numpy您可以通过以下方式进行操作:

import numpy as np
a = np.array([1,2,3,4,5])
p = np.percentile(a, 50)

您可以percentile在附加链接中阅读有关该功能的更多信息。

另一种选择是使用它,它将为您提供分隔 n 个分位数间隔的分割点statistics.quantiles的分布列表。n - 1

使用示例:

from statistics import quantiles


quantiles([1, 2, 3, 4, 5], n=100)

# [0.06, 0.12, 0.18, 0.24, 0.3, 0.36, 0.42, 0.48, 0.54, 0.6, 0.66, 0.72, 0.78, 0.84, 0.9, 0.96, 1.02, 1.08, 1.14, 1.2, 1.26, 1.32, 1.38, 1.44, 1.5, 1.56, 1.62, 1.68, 1.74, 1.8, 1.86, 1.92, 1.98, 2.04, 2.1, 2.16, 2.22, 2.28, 2.34, 2.4, 2.46, 2.52, 2.58, 2.64, 2.7, 2.76, 2.82, 2.88, 2.94, 3.0, 3.06, 3.12, 3.18, 3.24, 3.3, 3.36, 3.42, 3.48, 3.54, 3.6, 3.66, 3.72, 3.78, 3.84, 3.9, 3.96, 4.02, 4.08, 4.14, 4.2, 4.26, 4.32, 4.38, 4.44, 4.5, 4.56, 4.62, 4.68, 4.74, 4.8, 4.86, 4.92, 4.98, 5.04, 5.1, 5.16, 5.22, 5.28, 5.34, 5.4, 5.46, 5.52, 5.58, 5.64, 5.7, 5.76, 5.82, 5.88, 5.94]

quantiles([1, 2, 3, 4, 5], n=100)[49]

查看完整回答
反对 回复 2023-10-26
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

您可以找到百分位数numpy


import numpy as np

 

arr = [20, 2, 7, 1, 34]

percentile_arr = [10,50,90]   

for i in range(0,len(percentile_arr)):

       percentile = np.percentile(arr, percentile_arr[i])

       print(f"{percentile_arr[i]}th percentile of array is : {percentile}")

查看完整回答
反对 回复 2023-10-26
?
POPMUISE

TA贡献1765条经验 获得超5个赞

嗯,数组是指列表吗?


如果是这样,那么你有一个很好的选择:for循环


my_values = [...]

result = []

percentage = 0,5


for i in my_values:

    result.append(i*percentage)

列表结果的append方法是告诉python“嘿,我希望你把这个东西添加到列表中”的一种方式


查看完整回答
反对 回复 2023-10-26
  • 3 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信