Removing NAN values from the table and deleting it.

91 visualizaciones (últimos 30 días)
Shelender Kumar
Shelender Kumar el 17 de Nov. de 2018
Editada: Voss el 12 de Feb. de 2025 a las 19:47
Hi
I have a table which is arrranged in susch a waym that it has one row of data and other row which contain NAN and so on, I want to get rid of NAN and aferwards deleting it.
Could you help me with this.

Respuesta aceptada

madhan ravi
madhan ravi el 17 de Nov. de 2018
Editada: madhan ravi el 17 de Nov. de 2018
rmmissing(T) %deletes row containing nan where T your table
  16 comentarios
madhan ravi
madhan ravi el 19 de Nov. de 2018
Thank you sir Walter , have to familiarise with any and all it‘s slightly confusing :)

Iniciar sesión para comentar.

Más respuestas (2)

ahmed nebli
ahmed nebli el 17 de Nov. de 2018
use this : (isnan(X)) = [] % X is the table
  5 comentarios
Walter Roberson
Walter Roberson el 3 de Mayo de 2021
not works
Magik 8-Ball says:
Concentrate and ask again

Iniciar sesión para comentar.


Francesco
Francesco el 12 de Feb. de 2025 a las 13:56
Editada: Francesco el 12 de Feb. de 2025 a las 13:56
Following another question I found this code working really good:
Xnew=X((isfinite(X)));
The new array has no Nan inside.
  5 comentarios
Francesco
Francesco el 12 de Feb. de 2025 a las 19:10
Editada: Francesco el 12 de Feb. de 2025 a las 19:12
Yes the principle is the same, if you have a table, for example in your case, you can call the columns using T.Column_name, in this case:
T = array2table([1,2,3;nan,2,3;1,2,3;1,2,3;nan,2,3])
T = 5x3 table
Var1 Var2 Var3 ____ ____ ____ 1 2 3 NaN 2 3 1 2 3 1 2 3 NaN 2 3
X=T.Var1 ; Y=T.Var2; Z=T.Var3;
Xnew=X((isfinite(X)));
Ynew=Y((isfinite(X)));
Znew=Z((isfinite(X)));
T_new = array2table([Xnew,Ynew,Znew])
T_new = 3x3 table
Var1 Var2 Var3 ____ ____ ____ 1 2 3 1 2 3 1 2 3
Voss
Voss el 12 de Feb. de 2025 a las 19:43
Editada: Voss el 12 de Feb. de 2025 a las 19:47
T = array2table([1,2,3;nan,2,3;1,2,3;1,2,3;nan,2,3])
T = 5x3 table
Var1 Var2 Var3 ____ ____ ____ 1 2 3 NaN 2 3 1 2 3 1 2 3 NaN 2 3
T_new = T(isfinite(T.Var1),:)
T_new = 3x3 table
Var1 Var2 Var3 ____ ____ ____ 1 2 3 1 2 3 1 2 3
Since the question only asked about NaNs, isnan might be a better function to use than isfinite, i.e.
T_new = T(~isnan(T.Var1),:)
T_new = 3x3 table
Var1 Var2 Var3 ____ ____ ____ 1 2 3 1 2 3 1 2 3

Iniciar sesión para comentar.

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by