1. 概率学简介

1.1. 百分位数 (percentile)

Q: 编写一个Python函数,get_percentile(datalist, p),能够求一组数据datalist中,最大的前百分之p。

A: 以下是一个Python函数的示例代码,可以获取一组数据中最大的前百分之p:

python复制代码def get_percentile(datalist, p):
    sorted_data = sorted(datalist, reverse=True) # 将数据从大到小排序
    n = len(sorted_data)
    k = int(n * p / 100) # 计算需要选取的个数
    return sorted_data[:k] # 返回前k个元素

该函数首先对数据列表进行降序排序(即从大到小),然后计算出需要选取的前百分之p的元素数量k。最后,它返回列表的前k个元素,这些元素就是最大的前百分之p。注:如果需要获取最大的前k个元素,只需将公式中的“int(n * p / 100)”改为“k”。

以下是一个使用示例:

python复制代码data = [3, 7, 1, 9, 4, 6, 8, 2, 5]
percentile = 40

result = get_percentile(data, percentile)
print(f"最大的前{percentile}%: {result}")

该示例计算了数据列表 [3, 7, 1, 9, 4, 6, 8, 2, 5] 中最大的前百分之40的元素,并输出结果 [9, 8, 7]

扩展概念 :四分位数 The first quartile, second quartile, third quartile and forth quartile.

results matching ""

    No results matching ""