Removing NAN values from the table and deleting it.

45 vues (au cours des 30 derniers jours)
Shelender Kumar
Shelender Kumar le 17 Nov 2018
Modifié(e) : Voss le 12 Fév 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.

Réponse acceptée

madhan ravi
madhan ravi le 17 Nov 2018
Modifié(e) : madhan ravi le 17 Nov 2018
rmmissing(T) %deletes row containing nan where T your table
  16 commentaires
madhan ravi
madhan ravi le 19 Nov 2018
Thank you sir Walter , have to familiarise with any and all it‘s slightly confusing :)
Talha Idrees
Talha Idrees le 2 Mai 2021
not works

Connectez-vous pour commenter.

Plus de réponses (2)

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

Connectez-vous pour commenter.


Francesco
Francesco le 12 Fév 2025
Modifié(e) : Francesco le 12 Fév 2025
Following another question I found this code working really good:
Xnew=X((isfinite(X)));
The new array has no Nan inside.
  5 commentaires
Francesco
Francesco le 12 Fév 2025
Modifié(e) : Francesco le 12 Fév 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 le 12 Fév 2025
Modifié(e) : Voss le 12 Fév 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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by