scipy.stats.

scoreatpercentile#

scipy.stats.scoreatpercentile(a, per, limit=(), interpolation_method='fraction', axis=None)[source]#

计算输入序列中给定百分位上的分数。

例如,per=50 的分数是中位数。 如果所需的 quantile 位于两个数据点之间,我们会根据 interpolation 的值在它们之间进行插值。 如果提供了参数 limit,它应该是一个包含两个值的元组(下限,上限)。

参数:
aarray_like

从中提取分数的 1-D 值数组。

perarray_like

要提取分数的百分位数。 值应在 [0,100] 范围内。

limittuple, optional

两个标量的元组,用于计算百分位数的下限和上限。 将忽略此(闭)区间之外的 a 值。

interpolation_method{‘fraction’, ‘lower’, ‘higher’}, optional

指定当所需的 quantile 位于两个数据点 ij 之间时要使用的插值方法。 以下选项可用(默认为 ‘fraction’)

  • ‘fraction’: i + (j - i) * fraction 其中 fraction 是被 ij 包围的索引的小数部分

  • ‘lower’: i

  • ‘higher’: j

axisint, optional

计算百分位数的轴。 默认为 None。 如果为 None,则在整个数组 a 上计算。

返回值:
scorefloat or ndarray

百分位上的分数。

注释

此函数将来将被弃用。 对于 NumPy 1.9 及更高版本,numpy.percentile 提供了 scoreatpercentile 提供的所有功能。 而且速度明显更快。 因此,建议 NumPy >= 1.9 的用户使用 numpy.percentile

示例

>>> import numpy as np
>>> from scipy import stats
>>> a = np.arange(100)
>>> stats.scoreatpercentile(a, 50)
49.5