deleting table above a specific row
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
if i have a table and it has 05 columns.
if i want that when column 3 has a value 25, then delete all the rows above it.
and similarly if column 4 has a value 30, then delete the rows in all the columns below this value.
0 comentarios
Respuestas (2)
KSSV
el 13 de Feb. de 2022
% Demo example
x = (1:100)' ;
y = rand(size(x)) ;
T = table(x,y) ;
% remove rows which have values greater than 0.7 values
idx = T.(2)>0.7 ;
% remove the rows
T(idx,:) = [] ;
1 comentario
VBBV
el 13 de Feb. de 2022
Zero indexing works for Logical arrays in MATLAB, but doesn't work for numeric arrays. Quite Interesting :)
Image Analyst
el 13 de Feb. de 2022
Try this:
col12 = (1:5)';
col34 = [1,2,25, 30, 1000]';
t = table(col12, col12, col34, col34)
% Find last row where column 3 is exactly 25
row25 = find(t{:, 3} == 25, 1, 'last')
% Delete rows above that row25
t = t(row25 : end, :)
% Find first row where column 4 is exactly 30
row30 = find(t{:, 3} == 30, 1, 'first')
% Delete rows below that row30
t = t(1 : row30, :)
0 comentarios
Ver también
Categorías
Más información sobre Tables 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!