How do I replace -1.0000e+30 with NaN?

1 visualización (últimos 30 días)
Simbarashe Chidzambwa
Simbarashe Chidzambwa el 9 de Nov. de 2022
Comentada: Steven Lord el 10 de Nov. de 2022
I want to replace -1.0000e+30 in an array of SST and used the following but its not working why?:
data=netcdf.open('HadISST_sst1.nc','NC_NOWRITE')
time=netcdf.getVar(data,0);
time_bnds=netcdf.getVar(data,1);
lat=netcdf.getVar(data,2);
lon=netcdf.getVar(data,3);
sst=netcdf.getVar(data,4);
sst(sst==-1.0000*1e+30)=NaN;

Respuesta aceptada

KSSV
KSSV el 9 de Nov. de 2022
Let T be your array.
tol = -10^10 ; % fix this to satisfied value
T(T<tol) = NaN ;
  3 comentarios
KSSV
KSSV el 9 de Nov. de 2022
Thanks is accepting/ voting the answer. :)
Simbarashe Chidzambwa
Simbarashe Chidzambwa el 9 de Nov. de 2022
Thank you very much it worked.

Iniciar sesión para comentar.

Más respuestas (1)

Steven Lord
Steven Lord el 9 de Nov. de 2022
Since I'm guessing -1e30 is an outlier in your data you could use filloutliers. I'll use a slightly smaller outlier value for this example because it makes y display more nicely.
y = 1:10;
y(7) = 100
y = 1×10
1 2 3 4 5 6 100 8 9 10
y2 = filloutliers(y, NaN)
y2 = 1×10
1 2 3 4 5 6 NaN 8 9 10
  2 comentarios
Simbarashe Chidzambwa
Simbarashe Chidzambwa el 10 de Nov. de 2022
Thank you very much Stephen, though the number represents missing values.
Steven Lord
Steven Lord el 10 de Nov. de 2022
You may be interested in standardizeMissing or fillmissing as well.

Iniciar sesión para comentar.

Categorías

Más información sobre Data Preprocessing en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by