Replace Nan with blank in a TABLE
21 ビュー (過去 30 日間)
古いコメントを表示
Hello!
I have a table thant contains strings, numbers and NaNs and I have to replace the Nans with blanks.
How can I do?
Thank you
0 件のコメント
回答 (1 件)
Walter Roberson
2021 年 2 月 10 日
編集済み: Walter Roberson
2021 年 2 月 10 日
You need to iterate over all of the variables, find the ones that are numeric, and if the variable contains nan, then replace the variable with the formatted content of the numeric value, putting in blanks where-ever the nan were.
table() were not designed for presentation purposes, no Mathworks-provided function for this purpose.
YourTable = table([1;2;3;nan;5], {'a';'b';'c';'d';'e'}, [nan;12;13;14;15], rand(5,1))
YourTable = convertvars(YourTable, @isnumeric, @nanblank)
function output = nanblank(values)
mask = isnan(values);
if nnz(mask)
output = string(values);
output(mask) = "";
output = char(output);
else
output = values;
end
end
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Data Type Conversion についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!