torch.nanmean#
- torch.nanmean(input, dim=None, keepdim=False, *, dtype=None, out=None) Tensor#
Computes the mean of all non-NaN elements along the specified dimensions. Input must be floating point or complex.
This function is identical to
torch.mean()when there are no NaN values in theinputtensor. In the presence of NaN,torch.mean()will propagate the NaN to the output whereastorch.nanmean()will ignore the NaN values (torch.nanmean(a) is equivalent to torch.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.
See also
torch.mean()computes the mean value, propagating NaN.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)