How to delete specific rows in a table based on a value?
Mostrar comentarios más antiguos
Hi all,
I have a big table with 6 columns and would like to delete all rows where one column contains a specific value.
That's how the table looks like:

I would like to delete all rows, where T.ISIN == 'DE0006205701'
May you please help me with this?
Thanks so much in advance!
5 comentarios
dpb
el 13 de Dic. de 2020
Show us what have you tried and where you ran into difficulty?
Image Analyst
el 13 de Dic. de 2020
Editada: Image Analyst
el 13 de Dic. de 2020
Attach your table in a .mat file so we can try things with it.
save('answers.mat', 'T');
In the meantime, try ismember().
Carl Schneegaß
el 13 de Dic. de 2020
Carl Schneegaß
el 13 de Dic. de 2020
Carl Schneegaß
el 13 de Dic. de 2020
Respuesta aceptada
Más respuestas (1)
Image Analyst
el 13 de Dic. de 2020
Did you try ismember like I suggested above?
s = load('answers.mat')
T = s.T;
whos T % Show size.
% I would like to delete all rows, where T.ISIN == 'DE0006205701'
pattern = 'DE0006205701'
[ia, ib] = ismember(T.ISIN, {pattern});
fprintf('Found %d rows where ISIN = "%s". We will delete those.\n', sum(ia), pattern);
T(ia, :) = [];
whos T % Show size now.
1 comentario
Carl Schneegaß
el 13 de Dic. de 2020
Categorías
Más información sobre Logical en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!