可能有更好的词来描述这个问题,但是我想做的是np.percentile()
的相反。我有一个n个数字的列表,我想看看它们中有多少百分比小于给定的值。现在我得到这个值的方法是不断尝试不同的小数。* 我想要 * Numpy告诉我的是:
给定阈值= 0.20(输入),列表d
中大约99.847781%(输出)的项目低于这个百分位数。
我现在要做的是得到这个数字是相当粗略的:
>>> 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
...
3条答案
按热度按时间z18hc3ub1#
如果我没理解错你的问题的话
应该这样做。
编辑:我错过了问题中的绝对值-
mo49yndu2#
假设
d
是一个NumPy数组,一般来说,你可以这样做:对于绝对值:
pxq42qpu3#
其他的答案都很棒。但是,如果数组中的某些值可能与阈值相同(例如,整数数组),则此技巧将处理此情况:
只是用小于和小于或等于求平均值。