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

我想计算 10%、50% 和 90% 的百分位值。因此,输入将是您想要查找的百分位数和要计算的值数组。我该怎么做?统计数据已经有一段时间了...

powershell 或 python 的帮助将不胜感激。

编辑:抱歉,我的意思是创建自己的函数而不是使用预构建的函数/库


撒科打诨
浏览 137回答 3
3回答

波斯汪

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 quantilesquantiles([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]

慕桂英3389331

您可以找到百分位数numpyimport 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}")

POPMUISE

嗯,数组是指列表吗?如果是这样,那么你有一个很好的选择:for循环my_values = [...]result = []percentage = 0,5for i in my_values:    result.append(i*percentage)列表结果的append方法是告诉python“嘿,我希望你把这个东西添加到列表中”的一种方式
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python