hi guys
I have a matrix.
here the first column is date and others columns are data. for eg.
I have data like this.
05/04/2018 15 54 87
06/04/2018 48 NaN 8
07/04/2018 NaN NaN NaN
08/04/2018 NaN 8 NaN
09/04/2018 NaN NaN NaN
what i want is
05/04/2018 15 54 87
06/04/2018 48 NaN 8
08/04/2018 NaN 8 NaN
hope you understand. !!! thanks in advance.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 21 de Mayo de 2018

1 voto

mask = all(isnan(YourArray),2);
YourArray(mask, :) = [];

5 comentarios

pruth
pruth el 21 de Mayo de 2018
hi thanks for the reply but it will not delete any row since the first column is for date and time. I want to delete date and time also.
Walter Roberson
Walter Roberson el 21 de Mayo de 2018
You said you want to delete only those rows which have all NaN values in it. Any row that has a non-NaN time and date does not have all NaN values in it.
You probably want
mask = all(isnan(YourArray(:,2:end),2);
YourArray(mask, :) = [];
pruth
pruth el 21 de Mayo de 2018
I apologize if it confuses you. let me clarify. I have data like this.
05/04/2018 15 54 87
06/04/2018 48 NaN 8
07/04/2018 NaN NaN NaN
08/04/2018 NaN 8 NaN
09/04/2018 NaN NaN NaN
what i want is
05/04/2018 15 54 87
06/04/2018 48 NaN 8
08/04/2018 NaN 8 NaN
hope you understand. !!! thanks
Ameer Hamza
Ameer Hamza el 21 de Mayo de 2018
@Walter's code given in comment should work. Although there is a little typo about the mismatch of parenthesis.
mask = all(isnan(YourArray(:,2:end)),2);
YourArray(mask, :) = [];
pruth
pruth el 21 de Mayo de 2018
yes, it works. I corrected that already. thank you :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Etiquetas

Preguntada:

el 21 de Mayo de 2018

Editada:

el 21 de Mayo de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by