【python】numpy库np.percentile详解

在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]])
    >>> np.percentile(a, 50) #50%的分位数,就是a里排序之后的中位数
    3.5
    >>> np.percentile(a, 50, axis=0) #axis为0,在纵列上求
    array([[ 6.5,  4.5,  2.5]])
    >>> np.percentile(a, 50, axis=1) #axis为1,在横行上求
    array([ 7.,  2.])
    >>> np.percentile(a, 50, axis=1, keepdims=True)  #keepdims=True保持维度不变
    array([[ 7.],
           [ 2.]])

猜你喜欢

转载自blog.csdn.net/brucewong0516/article/details/80205422