⭐️ np.percentile函数
np.percentile` 是 NumPy 库中的一个函数,用于计算给定数据数组的指定百分位数。百分位数表示数据中有多少比例的值小于或等于某个值,例如,第25百分位数表示数据中有25%的值小于或等于这个值。
np.percentile
函数的语法
numpy.percentile(a, q, axis=None, out=None, overwrite_input=False, method='linear', keepdims=False)
参数说明
-
a
:需要计算百分位数的数组或可迭代对象。可以是一维或多维数组。 -
q
:一个或多个表示百分位数的值,范围从0到100。例如,如果q=50
,表示计算数据的中位数(50百分位数)。 -
axis
:可选。指定计算百分位数的轴。如果未指定,默认在数组的所有元素上计算百分位数。对于二维数组,如果axis=0
,则按列计算百分位数;如果axis=1
,则按行计算百分位数。 -
out
:可选。用于存储结果的数组。 -
overwrite_input
:可选。如果设置为True
,函数可以修改输入数组以节省内存。默认是False
。 -
method
:可选。用于计算百分位数的插值方法,默认是'linear'
,可以是'lower'
、'higher'
、'nearest'
等。 -
keepdims
:可选。如果设置为True
,在计算后保持输出与输入的维度一致。默认是False
。
返回值
返回一个或多个指定百分位数对应的数值。根据输入的q
是单个值还是多个值,返回值可以是一个标量或数组。
⭐️ 示例说明
-
计算单个百分位数:
import numpy as np data = [1, 2, 3, 4, 5] percentile_50 = np.percentile(data, 50) print(percentile_50) # 输出:3.0
- 在这个例子中,我们计算了数据的50百分位数,即中位数。
-
计算多个百分位数:
percentiles = np.percentile(data, [25, 50, 75]) print(percentiles) # 输出:[2. 3. 4.]
- 这里我们计算了第25、50和75百分位数。结果是2、3、4,分别对应四分位数(第25和75百分位数)和中位数。
-
按轴计算百分位数:
data = np.array([[10, 7, 4], [3, 2, 1]]) percentile_50_axis0 = np.percentile(data, 50, axis=0) print(percentile_50_axis0) # 输出:[6.5 4.5 2.5]
- 这个例子中,我们计算了沿着
axis=0
(即列)方向的50百分位数。结果分别是每一列的中位数。
- 这个例子中,我们计算了沿着
总结
-
np.percentile
函数是一个用于统计分析的强大工具,通过它可以轻松地计算任何数组中的百分位数,用以描述数据的分布情况。 -
百分位数在数据分析中非常有用,特别是在分段、分组或理解数据的分布特性时,帮助我们识别数据的集中趋势或极端值的影响。
-
在逻辑回归提升图的绘制中,
np.percentile
可以用来将预测概率划分为不同的分段,从而分析模型在不同分位数下的表现。
笔者水平有限,若有不对的地方欢迎评论指正!