0

I have SST data for 30 days of one rigion. However, part of daily (several days) data is missed, as shown in the following figure. So, I want to calculate the average value of these obtained SST data for these 30 days. Since some of the days are missed.

I am wondering how can I calculate the average SST value for these 30 days? My data is in .mat format.

For example, is there any function (in Matlab or Python) I can use to calculate the average value even though some of the data are missed?

Note: the 'NaN' indicates the missed data.

Thanks in advance!

enter image description here

Melina
  • 293
  • 3
  • 11

1 Answers1

0

Just use the 'omitnan' flag of the mean() function.

% Random input array
x = rand(30, 1);

% Insert a random number of NaNs in the array
nNaN = randi(30, 1);
idx = randi(30, [nNaN, 1]);
x(unique(idx)) = NaN;

% Calculate the average
xav = mean(x, 'omitnan');
Matteo V
  • 1,163
  • 1
  • 8
  • 17