在 Matlab 中阅读 Excel 电子表格后,不幸的是,我的结果表中包含了 NaN。例如这个 Excel 表格:
将产生此表:
其中出现额外的 NaN 列。我尝试使用以下代码片段删除 NaN:
measurementCells = readtable('MWE.xlsx','ReadVariableNames',false,'ReadRowNames',true);
measurementCells = measurementCells(any(isstruct(measurementCells('TIME',1)),1),:);
然而,这会导致0x6
表,不再存在任何值。如何在不删除表中任何数据的情况下正确删除 NaN?
要么这个:
tab = tab(~any(ismissing(tab),2),:);
or:
tab = rmmissing(tab);
如果要删除包含一个或多个缺失值的行。
如果您想用其他值替换缺失值,请阅读有关如何fillmissing
(https://mathworks.com/help/matlab/ref/fillmissing.html https://mathworks.com/help/matlab/ref/fillmissing.html) and standardizeMissing
(https://mathworks.com/help/matlab/ref/standardizemissing.html https://mathworks.com/help/matlab/ref/standardizemissing.html)功能工作。这些示例非常详尽,应该可以帮助您找到最适合您需求的解决方案。
您拥有的最后一个解决方案是发现(并以您喜欢的方式进行操作)NaN
调用中的值readtable
函数使用EmptyValue
范围。但这仅适用于数字数据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)