代码之家  ›  专栏  ›  技术社区  ›  Edy Bourne

给定一个Numpy数组,如何计算每个数组元素的百分比?

  •  1
  • Edy Bourne  · 技术社区  · 3 年前

    我有一个数组,如下所示:

    import numpy as np
    
    arrx = np.array([0, 5, 10])
    print(np.percentile(arrx, 100))
    

    它返回一个标量:与我指定为第二个参数的百分位数更接近的元素。在这种情况下, 10

    然而,我想得到一个等效的数组,它给出了每个元素的百分比,例如:

    # do something
    > [0, 50, 100]
    

    其中第一个元素位于0百分位,5位于50%,依此类推。

    使用numpy如何有效地做到这一点?

    谢谢

    1 回复  |  直到 3 年前
        1
  •  2
  •   mozway    3 年前

    简单地按最大值进行标准化:

    arrx/arrx.max()*100
    

    或者可以通过最小值/最大值:

    (arrx-arrx.min())/(arrx.max()-arrx.min())*100
    

    输出: array([ 0., 50., 100.])