用python计算百分位数

2024-09-29 01:28:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个大数组 [1,4,5,9,1,4,6,....]

我想计算一下有多少元素低于每一个百分位。 例如:

4 numbers in 10percentile
7 numbers in 20 percentile
10 numbers in 30 percentile and so on till 100. ```

Is there a simple way to do this

Tags: andtoin元素soison数组
1条回答
网友
1楼 · 发布于 2024-09-29 01:28:27

当然可以用np.percentile来完成,但也需要编写一点自己的代码。我用字典来做这件事。最后一个for循环不是很必要,但我这样做只是因为演示的目的。你知道吗

arr=np.array([1,2,3,4,5,6,1,5,3,6,2,6,3,5,2,6,8,6,78,97,77,45])

percentile=np.percentile(arr,np.arange(10,110,10))

dic={}
for i,j in zip(percentile,np.arange(10,110,10)):
    dic[j]=np.sum(arr<=i)

for key,value in dic.items():
    print(str(value)+' numbers in '+str(key)+' percentile')

结果:

5 numbers in 10 percentile
5 numbers in 20 percentile
8 numbers in 30 percentile
9 numbers in 40 percentile
12 numbers in 50 percentile
17 numbers in 60 percentile
17 numbers in 70 percentile
17 numbers in 80 percentile
19 numbers in 90 percentile
22 numbers in 100 percentile

相关问题 更多 >