All -9999 in a table to NaN
1 回表示 (過去 30 日間)
古いコメントを表示
Hi Everyone,
I have a table with results from a lot of sensors (1 column per sensor), if the results aren't valid then the output value is -5555.
I want to make all values of -5555 in the entire table =NaN, is there a quick way to do this?
I can do it for 1 column and create a loop to do it for all columns but is there an easier way?
Thanks in advance!
0 件のコメント
採用された回答
Steven Lord
2021 年 8 月 27 日
Use standardizeMissing.
dblVar = [NaN;3;Inf;7;9];
cellstrVar = {'one';'three';'';'N/A';'nine'};
charVar = ['A';'C';'E';' ';'I'];
categoryVar = categorical({'red';'yellow';'blue';'violet';''});
A = table(dblVar,cellstrVar,charVar,categoryVar)
B = standardizeMissing(A, 7)
その他の回答 (1 件)
dpb
2021 年 8 月 27 日
isBad=(T{:,:)==-5555); % logical array across table T
T{:,:)(isBad)=nan; % assign NaN to those locations
Use your table variable name in place of T above, of course.
Depending on how you're creating the table, it may be easier/more direct to use the IsMissing indicator when create the table rather than have to fix up after the fact; we would have to know how the table is being populated to begin with to say -- that is, we need to see the code.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Numeric Types についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!