TensorPlay
latest (dev)
Copy
View Markdown

Latest development documentation · Updated 2026-10-15

tensorplay.functional.nanmean

tensorplay.functional.nanmean(input, dim=None, keepdim=False, *, dtype=None, out=None) → Tensor[source]

Computes the mean of all non-NaN elements along the specified dimensions. Input must be floating point or complex.

This function is identical to tensorplay.mean() when there are no NaN values in the input tensor. In the presence of NaN, tensorplay.mean() will propagate the NaN to the output whereas tensorplay.nanmean() will ignore the NaN values (tensorplay.nanmean(a) is equivalent to tensorplay.mean(a[~a.isnan()])).

If keepdim is True, the output tensor is of the same size as input except in the dimension(s) dim where it is of size 1. Otherwise, dim is squeezed (see tensorplay.squeeze()), resulting in the output tensor having 1 (or len(dim)) fewer dimension(s).

Parameters:
  • input (Tensor) – the input tensor, either of floating point or complex dtype

  • dim (int or tuple of ints, optional) –

    the dimension or dimensions to reduce. If None, all dimensions are reduced.

    keepdim (bool, optional): whether the output tensor has dim retained or not. Default: False.

Keyword Arguments:
  • dtype (tensorplay.dtype, optional) – the desired data type of returned tensor. If specified, the input tensor is casted to dtype before the operation is performed. This is useful for preventing data type overflows. Default: None.

  • out (Tensor, optional) – the output tensor.

See also

tensorplay.mean() computes the mean value, propagating NaN.

Example:

>>> x = tensorplay.tensor([[tensorplay.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
>>> tensorplay.tensor([tensorplay.nan]).nanmean()
tensor(nan)

On this page

Ask DeepWiki