torch.Tensor.Tensor.nanmean
Tensor.nanmean(): Tensor<readonly [], D, Dev>Tensor.nanmean<Dim extends number>(dim: Dim, keepdim: boolean, options?: ReductionOptions): Tensor<DynamicShape, D, Dev>Computes the mean (average) of elements, ignoring NaN values.
Returns the arithmetic mean of all elements, treating NaN as missing data. Only non-NaN values are included in the computation. Useful for:
- Computing statistics despite missing/invalid data (NaN)
- Loss tracking in models (ignoring invalid batches)
- Robust averaging for datasets with gaps
- Data preprocessing with missing values
- Computing dataset statistics
- If all values along a dimension are NaN, the result is NaN
- Returns float32 tensor even for integer inputs
- Opposite of nansum: divides by count instead of just summing
Returns
Tensor<readonly [], D, Dev>– Tensor with mean computed, NaN values excludedExamples
// Mean with NaN values
const x = torch.tensor([1, 2, NaN, 4, 5]);
x.nanmean(); // 3.0 (mean of [1, 2, 4, 5], NaN ignored)
// Along dimension
const matrix = torch.tensor([[1, NaN, 3], [4, 5, NaN]]);
matrix.nanmean(0); // [2.5, 5, 3] (mean per column, skipping NaN)
matrix.nanmean(1); // [2, 4.5] (mean per row)
// Loss computation with invalid samples
const losses = torch.tensor([0.5, 0.3, NaN, 0.4]);
const avg_loss = losses.nanmean(); // Only valid lossesSee Also
- PyTorch torch.nanmean()
- mean - Mean including NaN values
- nansum - Sum ignoring NaN values
- nanmedian - Median ignoring NaN values