可能有更好的词来描述这个问题,但是我想要做的与np.percentile(). 我有一个包含 n 个数字的列表,我想查看它们中的哪个百分位数小于给定值。现在我得到这个值的方法是不断尝试不同的小数。我想让Numpy 告诉我的是:
给定阈值 = 0.20(输入),列表中大约 99.847781%(输出)的项目
d低于这个百分位数。
我现在为获得这个数字所做的工作非常粗略:
>>> np.percentile(np.absolute(d), 99.847781)
0.19999962082827874
>>> np.percentile(np.absolute(d), 99.8477816)
0.19999989822334402
>>> np.percentile(np.absolute(d), 99.8477817)
0.19999994445584851
>>> np.percentile(np.absolute(d), 99.8477818)
0.19999999068835939
...
Run Code Online (Sandbox Code Playgroud)
如果我正确理解你的问题,就像
sum(d < threshold) / len(d)
Run Code Online (Sandbox Code Playgroud)
应该这样做。
编辑:我错过了问题中的绝对值 -
sum(np.abs(d) < threshold) / float(len(d))
Run Code Online (Sandbox Code Playgroud)