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 位于两个数据点 i 和 j 之间时要使用的插值方法。 以下选项可用(默认为 ‘fraction’)
‘fraction’:
i + (j - i) * fraction
其中fraction
是被i
和j
包围的索引的小数部分‘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