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.
This function is identical to
torch.mean()
when there are no NaN values in theinput
tensor. 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
keepdim
isTrue
, the output tensor is of the same size asinput
except in the dimension(s)dim
where it is of size 1. Otherwise,dim
is 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 todtype
before 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)