scipy.stats.

scoreatpercentile#

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

计算输入序列某一指定百分位数处的分数。

例如,百分位数 per=50 处的分数就是中位数。如果所需分位数介于两个数据点之间,则会根据 interpolation 的值在两者之间插值。如果提供了参数 limit,它应当是两个值的元组 (lower, upper)。

参数:
aarray_like

从中提取分数的一维值数组。

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,可选

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

返回:
score浮点数或 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