np.quantile
是 NumPy 库中的一个函数,用于计算数组中指定分位数的位置及其对应的值。分位数是统计学中的一种度量,表示数据在某个百分比位置上的值。常见的分位数有四分位数(Q1、Q2、Q3)和百分位数。
np.quantile
的基本用法
numpy.quantile(a, q, axis=None, out=None, overwrite_input=False, interpolation='linear', keepdims=False)
参数说明
a
: 输入数组,待计算分位数的数组。q
: 标量或数组,指定分位数的位置,范围在 [0, 1] 之间。例如,0.5 表示第 50 个百分位数(即中位数)。axis
: 沿指定轴计算分位数。默认情况下,会计算整个数组的分位数。out
: 可选。用于存储结果的数组。overwrite_input
: 可选。如果为 True,可以覆盖输入数据以节省内存,但输入数据会被修改。interpolation
: 可选。指定分位数的插值方法。可选值包括 'linear'、'lower'、'higher'、'midpoint' 和 'nearest'。默认为 'linear'。keepdims
: 可选。如果为 True,保留原始数组的维度。
返回值
- 返回指定分位数的值或值的数组,类型与输入数组相同。
示例
1. 计算单个分位数:
import numpy as np
data = np.array([1, 2, 3, 4, 5])
quantile_50 = np.quantile(data, 0.5) # 中位数
print(quantile_50) # 输出 3.0
2. 计算多个分位数:
quantiles = np.quantile(data, [0.25, 0.5, 0.75]) # 25%、50% 和 75% 分位数
print(quantiles) # 输出 [2. 3. 4.]
3. 沿特定轴计算分位数:
data = np.array([[10, 7, 4], [3, 2, 1]])
quantiles_axis0 = np.quantile(data, 0.5, axis=0) # 沿第 0 轴(行方向)计算中位数
print(quantiles_axis0) # 输出 [6.5 4.5 2.5]
最后
np.quantile
是计算数组中指定分位数值的函数。- 可以计算单个或多个分位数。
- 可以沿指定轴计算分位数,并且可以使用不同的插值方法。
- 返回值是指定分位数的值或值的数组,类型与输入数组相同。