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

조회 수: 2(최근 30일)
BN 2020년 2월 10일
답변: fred ssemwogerere 2020년 2월 10일
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.

채택된 답변

fred  ssemwogerere
fred ssemwogerere 2020년 2월 10일
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

추가 답변(1개)

Bhaskar R
Bhaskar R 2020년 2월 10일
Cnew = NewC2LatLon(~cellfun(@(x)any(isnan(x.precip)), NewC2LatLon));




Community Treasure Hunt

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

Start Hunting!

Translated by