np.percentile函数详解

⭐️ np.percentile函数

np.percentile` 是 NumPy 库中的一个函数,用于计算给定数据数组的指定百分位数。百分位数表示数据中有多少比例的值小于或等于某个值,例如,第25百分位数表示数据中有25%的值小于或等于这个值。
np.percentile函数详解_第1张图片

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是单个值还是多个值,返回值可以是一个标量或数组。
np.percentile函数详解_第2张图片

⭐️ 示例说明

  1. 计算单个百分位数

    import numpy as np
    
    data = [1, 2, 3, 4, 5]
    percentile_50 = np.percentile(data, 50)
    print(percentile_50)  # 输出:3.0
    
    • 在这个例子中,我们计算了数据的50百分位数,即中位数。
  2. 计算多个百分位数

    percentiles = np.percentile(data, [25, 50, 75])
    print(percentiles)  # 输出:[2. 3. 4.]
    
    • 这里我们计算了第25、50和75百分位数。结果是2、3、4,分别对应四分位数(第25和75百分位数)和中位数。
  3. 按轴计算百分位数

    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函数详解_第3张图片

总结

  • np.percentile 函数是一个用于统计分析的强大工具,通过它可以轻松地计算任何数组中的百分位数,用以描述数据的分布情况。

  • 百分位数在数据分析中非常有用,特别是在分段、分组或理解数据的分布特性时,帮助我们识别数据的集中趋势或极端值的影响。

  • 在逻辑回归提升图的绘制中,np.percentile 可以用来将预测概率划分为不同的分段,从而分析模型在不同分位数下的表现。

笔者水平有限,若有不对的地方欢迎评论指正!

你可能感兴趣的:(大数据,人工智能,python,numpy,数据结构,数据统计,算法)