Removing NAN values from the table and deleting it.

49 Ansichten (letzte 30 Tage)
Shelender Kumar
Shelender Kumar am 17 Nov. 2018
Bearbeitet: Voss am 12 Feb. 2025
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.

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

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

Melden Sie sich an, um zu kommentieren.


Francesco
Francesco am 12 Feb. 2025
Bearbeitet: Francesco am 12 Feb. 2025
Following another question I found this code working really good:
Xnew=X((isfinite(X)));
The new array has no Nan inside.
  5 Kommentare
Francesco
Francesco am 12 Feb. 2025
Bearbeitet: Francesco am 12 Feb. 2025
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 am 12 Feb. 2025
Bearbeitet: Voss am 12 Feb. 2025
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

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by