我有一些离散的数据值,它们一起形成某种分布。
这是其中的一个,但它们是不同的,峰在所有可能的位置,从0到结束。
所以,我想用Python中的分位数。我想我可以写一些函数,从零开始,直到达到期望的百分比。但也许有更好的解决方案?例如,要在SciPy中创建某种经验分布,然后使用SciPy的百分位数计算方法?
最后我需要左百分位和右百分位的x坐标。一个可以使用20%和80%的百分位作为例子,我将不得不为我的案件找到最好的数字以后。
提前谢谢你!
编辑:
一些我想要的示例代码。

import numpy as np
np.random.seed(0)
distribution = np.random.normal(0, 1, 1000)
left, right = np.percentile(distribution, [20, 80])
print left, right

这会返回百分位数,我需要得到它们的x坐标。很明显,对于正态分布,这是可能的,但是我有一个未知形状的分布,所以如果百分位数不等于其中一个值(这是最常见的,很明显),它会变得更加复杂。

最佳答案

如果您正在寻找经验CDF,那么您可以使用statsmodelsECDF。对于百分位数/分位数,可以使用numpypercentile

10-07 19:11