我有一个数组,如下所示:
import numpy as np arrx = np.array([0, 5, 10]) print(np.percentile(arrx, 100))
它返回一个标量:与我指定为第二个参数的百分位数更接近的元素。在这种情况下, 10 。
10
然而,我想得到一个等效的数组,它给出了每个元素的百分比,例如:
# do something > [0, 50, 100]
其中第一个元素位于0百分位,5位于50%,依此类推。
使用numpy如何有效地做到这一点?
谢谢
简单地按最大值进行标准化:
arrx/arrx.max()*100
或者可以通过最小值/最大值:
(arrx-arrx.min())/(arrx.max()-arrx.min())*100
输出: array([ 0., 50., 100.])
array([ 0., 50., 100.])