How to find NaN in a cell of type table then delete the entire row
18 views (last 30 days)
Show older comments
Andrea Del Rosario
on 7 Jan 2019
Commented: Andrea Del Rosario
on 7 Jan 2019
Hi there,
If anyone can help me out please that would be greatly appreciated. I have this huge data that consist of 20k rows and 75 columns in excel (.csv). But I created a small working file which looks like this.
As seen, there are NaN values in this data table. So what I want to do is:
- go through the data and locate all the NaN values.
- if a row contains at least 1 NaN in the cell, I want to store the whole row to another list.
- once its gone through the list, I want to create a function that deletes the listed rows at the same time.
At the end, Im hoping to not see rows that contains any NaN values in any cell. is this possible? I have been trying to figure it out for the past couple weeks. tried bits and pieces from different solutions. nothing just seems to work. it would be greatly appreciated if anyone out there knows. PLEASE.
2 Comments
madhan ravi
on 7 Jan 2019
Edited: madhan ravi
on 7 Jan 2019
attach your data as .mat file or .xlsx file
Accepted Answer
madhan ravi
on 7 Jan 2019
Edited: madhan ravi
on 7 Jan 2019
Try the below example:
Age = [38;43;38;40;49];
Smoker = logical([1;0;1;0;1]);
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 NaN; 122 80];
T = table(Age,Smoker,Height,Weight,BloodPressure);
T=T{:,:}; % adapt this to your data
T(~any(isnan(T),2),:) % adapt this to your data
9 Comments
Luna
on 7 Jan 2019
unique function may help you on this but how will you decide which duplicate you want to remove or keep?
More Answers (0)
See Also
Categories
Find more on Tables in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!