Signature:
np.percentile(['a', 'q', 'axis=None', 'out=None', 'overwrite_input=False', "interpolation='linear'", 'keepdims=False'],)
这个函数本身的作用值得记下:输入参数a的类型为array_like,可以是list、np.array等;参数q为[0, 100]之间的浮点数(q的类型为array_like,一般是传入一个数)。a[0]=>0%, a[-1]=>100%,然后计算数组之间的间隔([1, 2, 3]的间隔为2)x,则数组中相邻数的差值为100/x。且相邻两数之间每1%的大小为(a[i+1]-a[i])/(100/x)(i>=0,已从小到大排序)。
# 示例
a = [1, 2, 10, 100] # or 'a = np.array([1, 2, 10, 100])' or 'a = range(10)'
np.percentile(a, 0) # 1
np.percentile(a, 1) # 1.03 => 1 + (2-1)/(100/3) = 1.03
np.percentile(a, 100/3) # 2.0
np.percentile(a, 100/3*2) # 10.0
np.percentile(a, 100/3*3) # 100.0
np.percentile(a, 100/3+1) # 2.240000000000002 => 2 + (10-2)/(100/3) = 2.24
np.percentile(a, 100/3*2+1) # 12.700000000000022 => 10 + (100-10)/(100/3) = 12.7
np.percentile(a, 100/3*2+2) # 15.400000000000045 => 10 + (100-10)/(100/3)*2 = 15.4
该函数还有一些参数值得研究。