在 Numpy 中,如何获得相当于 arr 百分位数但包括负数的值?
In Numpy, how can I obtain an equivalent to an arr percentile, but including negative numbers?
我找不到更好的标题了。让我解释一下:
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方法获取这样的边界?
如果我可以进一步解释或澄清,请告诉我,我知道这是一个复杂的问题,我正在尽力弄清楚。非常感谢!
你在寻找类似
的东西吗
import numpy as np
def extremities(array, pct):
# assert 50 <= pct <= 100
return np.percentile(array, [100 - pct, pct])
arr = np.arange(-10, 10)
print(extremities(arr, 90)) # [-8.1, 7.1]
我找不到更好的标题了。让我解释一下:
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方法获取这样的边界?
如果我可以进一步解释或澄清,请告诉我,我知道这是一个复杂的问题,我正在尽力弄清楚。非常感谢!
你在寻找类似
的东西吗import numpy as np
def extremities(array, pct):
# assert 50 <= pct <= 100
return np.percentile(array, [100 - pct, pct])
arr = np.arange(-10, 10)
print(extremities(arr, 90)) # [-8.1, 7.1]