numpy.
nanquantile
沿指定轴计算数据的第qth个分位数,同时忽略nan值。返回数组元素的第qth个分位数。
1.15.0 新版功能.
可转换为数组的输入数组或对象,其中包含要忽略的NaN值
要计算的分位数或分位数序列,必须介于0和1之间(含0和1)。
计算分位数的轴。默认值是沿着数组的扁平版本计算分位数。
用于放置结果的可选输出数组。它必须具有与预期输出相同的形状和缓冲区长度,但如果需要,将强制转换(输出的)类型。
如果为真,则允许输入数组 a 通过中间计算进行修改,以节省内存。在这种情况下,输入的内容 a 此函数完成后未定义。
此可选参数指定当所需分位数位于两个数据点之间时要使用的插值方法。 i < j :
i < j
线性的: i + (j - i) * fraction 在哪里 fraction 索引的小数部分是否被 i 和 j .
i + (j - i) * fraction
fraction
i
j
下: i .
较高的: j .
最近的: i 或 j ,以最近者为准。
中点: (i + j) / 2 .
(i + j) / 2
如果设置为“真”,则缩小的轴将保留在结果中,作为尺寸为1的尺寸。使用此选项,结果将针对原始数组正确广播 a .
如果这不是默认值,它将通过(在空数组的特殊情况下)传递给 mean 基础数组的函数。如果数组是子类并且 mean 没有Kwarg keepdims 这将引发运行时错误。
mean
如果 q 是一个百分位数 axis=None ,则结果是一个标量。如果给出了多个分位数,则结果的第一个轴对应于分位数。其他轴是在减少 a . 如果输入包含小于 float64 ,输出数据类型为 float64 . 否则,输出数据类型与输入数据类型相同。如果 out 则返回该数组。
float64
参见
quantile
nanmean
nanmedian
相当于 nanquantile(..., 0.5)
nanquantile(..., 0.5)
nanpercentile
与南分位数相同,但Q在范围内 [0, 100] .
实例
>>> a = np.array([[10., 7., 4.], [3., 2., 1.]]) >>> a[0][1] = np.nan >>> a array([[10., nan, 4.], [ 3., 2., 1.]]) >>> np.quantile(a, 0.5) nan >>> np.nanquantile(a, 0.5) 3.0 >>> np.nanquantile(a, 0.5, axis=0) array([6.5, 2. , 2.5]) >>> np.nanquantile(a, 0.5, axis=1, keepdims=True) array([[7.], [2.]]) >>> m = np.nanquantile(a, 0.5, axis=0) >>> out = np.zeros_like(m) >>> np.nanquantile(a, 0.5, axis=0, out=out) array([6.5, 2. , 2.5]) >>> m array([6.5, 2. , 2.5]) >>> b = a.copy() >>> np.nanquantile(b, 0.5, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a==b)