How to remove rows that contains other than decimal value in a column?
1 回表示 (過去 30 日間)
古いコメントを表示
Hi, in column 3 of table1 contains both decimal values and String values , i need to make the entire row as empty that contains other than decimal values. I am attaching sample code here.
d1= {'0.1';'0.2';'0.3';'0.4';'0.5'};
a1 = {'fix';'run';'debug';'continue';'break'};
b1 = {'70';'72';'70';'50';'C'};
c1 = {'DAC';'DAC';'DAC';'DAC';'DAC'};
table1=[d1,a1,b1,c1]
for i = 1:size(table1)
table1{i,3} =str2num( table1{i,3})
if table1{i,3}==[0]
table1{i,:}=[]
end
end
Please help me if anyone knows...
1 件のコメント
Adam Danz
2019 年 4 月 29 日
Actually, all of the elements of your table contain string values. Did you mean to convert the numeric-strings ( '70' ) to numeric ( 70 )?
採用された回答
Adam Danz
2019 年 4 月 29 日
編集済み: Adam Danz
2019 年 4 月 29 日
Replace rows of table1 that contain a number in string format in column 3 with empties:
isStr = isnan(str2double(table1(:,3)));
table1(isStr,:) = {[]};
If you want to convert the numeric-strings ( '70' ) to numeric ( 70 ),
isNum = ~isnan(str2double(table1));
table1(isNum) = num2cell(str2double(table1(isNum)));
0 件のコメント
その他の回答 (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!