Convert multiple strings in a table to numbers
79 ビュー (過去 30 日間)
古いコメントを表示
I'm trying to convert multiple strings in a table to numbers, but I keep on getting an error (either 'NaN' as an answer, or "Right hand side of an assignment into a table must be another table or a cell array").
It's a table where columns 13:68 contain either a "number" or "" (empty cell), and I want the string numbers to be converted to a number, and the empty cells to a NaN.
It works if I try this for one column only, using:
Table.X = str2double(Table.X);
But I have to do this for 56 columns and there must be a way to do it quicker than for each of them separately, however trying:
Table.(: ,X:YY) = str2double(Table.(: ,X:YY));
doesn't seem to work, as it returns an error, and changing the () to {} returns a NaN.
Anybody that knows how I can easily change string to double for multiple columns in a table?
0 件のコメント
採用された回答
Stephen23
2023 年 1 月 12 日
T = cell2table({"cat","1.2","","3.4";"in","4.5","6","7";"hat","","89",""})
T = convertvars(T,2:4,'double')
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Characters and Strings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!