MATLAB Answers

Eliminate the table inside a cell, if any NaN exists inside that table.

1 view (last 30 days)
Hey all,
I have a 1 x 1280 cell containing tables. I am sure there are some NaN inside some tables. I want to eliminate the entire table if any NaN value exists in that table (in the column named precip).
For example: If in all tables (1280), 5 tables have even just one NaN value inside their precip column, I want removing them (tables) totally. So in the output (Cnew), I'll have 1275 tables that have no NaN.
I don't want to remove just NaN rows But I want to remove the whole table from the cell if any NaN exists in that table (precip column).
I attached my cell.
Thank you so much in advance.

  0 Comments

Sign in to comment.

Accepted Answer

fred  ssemwogerere
fred ssemwogerere on 10 Feb 2020
Hello, cellfun should do nicely
CL=cellfun(@(x) any(isfinite(x.precip)),NewC2LatLon);
CSelect=NewC2LatLon(CL); % Final cell array with tables having no "NaN" values

  0 Comments

Sign in to comment.

More Answers (1)

Bhaskar R
Bhaskar R on 10 Feb 2020
Cnew = NewC2LatLon(~cellfun(@(x)any(isnan(x.precip)), NewC2LatLon));

  0 Comments

Sign in to comment.

Sign in to answer this question.

Products


Release

R2018b