PyTorch torch.nanmedian 函数
torch.nanmedian 是 PyTorch 中用于返回张量的非NaN值的中位数的函数。与 median 不同的是,它会忽略所有的 NaN 值。
函数定义
torch.nanmedian(input, dim, keepdim=False)
使用示例
实例
import torch
x = torch.tensor([1.0, float('nan'), 3.0, 2.0, 5.0])
# 返回非NaN值的中位数
print("非NaN中位数:", torch.nanmedian(x))
# 沿 dim=0 非NaN中位数
y = torch.tensor([[1.0, float('nan'), 2.0], [4.0, 1.0, 3.0]])
print("dim=0 非NaN中位数:", torch.nanmedian(y, dim=0))
x = torch.tensor([1.0, float('nan'), 3.0, 2.0, 5.0])
# 返回非NaN值的中位数
print("非NaN中位数:", torch.nanmedian(x))
# 沿 dim=0 非NaN中位数
y = torch.tensor([[1.0, float('nan'), 2.0], [4.0, 1.0, 3.0]])
print("dim=0 非NaN中位数:", torch.nanmedian(y, dim=0))
输出结果为:
非NaN中位数: tensor(2.) dim=0 非NaN中位数: torch.return_types.nanmedian(values=tensor([1., 1., 2.]), indices=tensor([0, 1, 0]))

Pytorch torch 参考手册