how to delete NaN from a column of data
2 次查看(过去 30 天)
显示 更早的评论
I have a column of numbers that i called in from excel but some of my data comes up as NaN, which is fine but i need to do calculations on this data and matlab cant do calculations on NaN how can i get rid of the NaN from my data?
example
data=
45
23
NaN
78
mean(data) = NaN
0 个评论
采纳的回答
Geoff
2012-5-8
If all you want is the mean, just use nanmean:
help nanmean
There are a bunch of functions that explicitly ignore NaN
nancov
nanmax
nanmean
nanmedian
nanmin
nanstd
nansum
nanvar
2 个评论
Image Analyst
2016-7-7
Like James showed, find() is not needed, though it still works.
data(isnan(data)) = [];
更多回答(1 个)
James Tursa
2012-5-8
For your particular example:
mean(data(~isnan(data)))
For general nan handling, you might take a look at the FEX submissions such as this one:
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 NaNs 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!