Removing NAN values from the table and deleting it.

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

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 um 13:56
Bearbeitet: Francesco am 12 Feb. 2025 um 13:56
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 um 19:10
Bearbeitet: Francesco am 12 Feb. 2025 um 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 am 12 Feb. 2025 um 19:43
Bearbeitet: Voss am 12 Feb. 2025 um 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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Tables finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by