在python中计算一个多维数组的任意百分比分位数,此处的百分位是从小到大排列,只需用np.percentile即可……
a = range(1,101)
#求取a数列第90%分位的数值
np.percentile(a, 90)
Out[5]: 90.10000000000001
a = range(101,1,-1)
#百分位是从小到大排列
np.percentile(a, 90)
Out[7]: 91.10000000000001
详看官方文档
numpy.percentile
Parameters
----------
a : np数组
q : float in range of [0,100] (or sequence of floats)
Percentile to compute。
要计算的q分位数。
axis : 那个轴上运算。
keepdims :bool是否保持维度不变。
Examples
--------
>>> a = np.array([[10, 7, 4], [3, 2, 1]])
>>> a
array([[10, 7, 4],
[ 3, 2, 1]])
需要后续代码私信我