nanmedian¶
沿给定的轴 axis
计算中位数,同时忽略 NAN 元素。 如果元素的有效计数为偶数,则计算并返回中间两数的平均数。
参数¶
x (Tensor) - 输入的 Tensor,数据类型为:float16、bfloat16、float32、float64、int32、int64。
axis (None|int|list|tuple,可选) - 指定对
x
进行计算的轴。axis
可以是 int 或者 int 元素的列表。axis
值应该在范围[-D, D)内,D 是x
的维度。如果axis
或者其中的元素值小于 0,则等价于 \(axis + D\)。如果axis
是 None,则对x
的全部元素计算中位数。默认值为 None。keepdim (bool,可选) - 是否在输出 Tensor 中保留减小的维度。如果
keepdim
为 True,则输出 Tensor 和x
具有相同的维度(减少的维度除外,减少的维度的大小为 1)。否则,输出 Tensor 的形状会在axis
上进行 squeeze 操作。默认值为 Falsename (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。
返回¶
Tensor
,沿着axis
进行中位数计算的结果,同时忽略 NAN 元素。输出的 dtype 与x
相同。
代码示例¶
>>> import paddle
>>> x = paddle.to_tensor([[float('nan'), 2. , 3. ], [0. , 1. , 2. ]])
>>> y1 = x.nanmedian()
>>> print(y1.numpy())
2.0
>>> y2 = x.nanmedian(0)
>>> print(y2.numpy())
[0. 1.5 2.5]
>>> y3 = x.nanmedian(0, keepdim=True)
>>> print(y3.numpy())
[[0. 1.5 2.5]]
>>> y4 = x.nanmedian((0, 1))
>>> print(y4.numpy())
2.0