【发布时间】:2021-05-16 17:34:43
【问题描述】:
我无法做出更好的标题。让我解释一下:
Numpy 有 percentile() 函数,可以计算任意数组的第 N 个百分位数:
import numpy as np
arr = np.arange(0, 10)
print(arr)
print(np.percentile(arr, 80))
>>> [0 1 2 3 4 5 6 7 8 9]
>>> 7.2
这很棒 - 7.2 标志着该数组的第 80 个百分位。
如何获得相同的百分位数类型的计算,但找出数组两端的第 N 个百分位数(正数和负数)?
例如,我的数组可能是:
[-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9]
所以我把它们放在一个数轴上,它会从 -10 到 10。我喜欢得到第 N 个百分位数来标记那个数轴的末端。例如,对于第 90 个百分位数,输出可能看起来像 -8.1 和 7.5,因为数组中 90% 的值都在该范围内,其余 10% 低于 -8.1 或高于 7.5。
当然,这些数字是我编造出来的,只是为了说明我要计算的内容。
有没有 NumPy 方法来获得这样的边界?
如果我可以进一步解释或澄清,请告诉我,我知道这是一个复杂的问题,我正在尽力澄清。非常感谢!
【问题讨论】:
标签: python arrays numpy percentile