使用Python解决四分位数和十分位数问题

6

有没有适用于Python 2.7的库可以解决四分位数和百分位数。似乎numpy没有任何相关函数。如果有,请给我一个链接。先谢谢啦!:D


你可以使用numpy.percentile来获取四分位数和十分位数。http://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.percentile.html - Zero
1个回答

12

使用np.percentile,您可以尝试类似以下的操作

>>> import numpy as np
>>> var = np.array([10, 7, 4, 3, 2, 1]) # input array
>>> np.percentile(var, np.arange(25, 100, 25)) # quartiles
array([2.25, 3.5 , 6.25])
>>> np.percentile(var, np.arange(10, 100, 10)) # deciles
array([1.5,  2. ,  2.5,  3. ,  3.5,  4. ,  5.5,  7. ,  8.5])

1
还值得一提的是 pandas.qcut,它可以将你的数组分成你指定的任意分位数。 - mway
这对我来说似乎是不正确的。应该有3个四分位数(即25%,50%,75%)和9个百分位数(即10%,20%,...,90%)。在这里,两者的第一个值都是最小值,因为您从0开始使用np.arange,请改用:np.percentile(var, np.arange(25, 100, 25)) # quartilesnp.percentile(var, np.arange(10, 100, 10)) # deciles - pltrdy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接