How to remove rows that contains other than decimal value in a column?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Haritha
el 29 de Abr. de 2019
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 comentario
Adam Danz
el 29 de Abr. de 2019
Actually, all of the elements of your table contain string values. Did you mean to convert the numeric-strings ( '70' ) to numeric ( 70 )?
Respuesta aceptada
Adam Danz
el 29 de Abr. de 2019
Editada: Adam Danz
el 29 de Abr. de 2019
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 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Characters and Strings en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!