torch.nanmean
-
torch.nanmean(input, dim=None, keepdim=False, *, dtype=None, out=None) → Tensor -
Computes the mean of all
non-NaNelements along the specified dimensions. Input must be floating point or complex.This function is identical to
torch.mean()when there are noNaNvalues in theinputtensor. In the presence ofNaN,torch.mean()will propagate theNaNto the output whereastorch.nanmean()will ignore theNaNvalues (torch.nanmean(a)is equivalent totorch.mean(a[~a.isnan()])).If
keepdimisTrue, the output tensor is of the same size asinputexcept in the dimension(s)dimwhere it is of size 1. Otherwise,dimis squeezed (seetorch.squeeze()), resulting in the output tensor having 1 (orlen(dim)) fewer dimension(s).- Parameters
- Keyword Arguments
-
-
dtype (
torch.dtype, optional) – the desired data type of returned tensor. If specified, the input tensor is casted todtypebefore the operation is performed. This is useful for preventing data type overflows. Default: None. - out (Tensor, optional) – the output tensor.
-
dtype (
See also
torch.mean()computes the mean value, propagatingNaN.Example:
>>> x = torch.tensor([[torch.nan, 1, 2], [1, 2, 3]]) >>> x.mean() tensor(nan) >>> x.nanmean() tensor(1.8000) >>> x.mean(dim=0) tensor([ nan, 1.5000, 2.5000]) >>> x.nanmean(dim=0) tensor([1.0000, 1.5000, 2.5000]) # If all elements in the reduced dimensions are NaN then the result is NaN >>> torch.tensor([torch.nan]).nanmean() tensor(nan)