How to delete specific rows in a table based on a value?

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
dpb el 13 de Dic. de 2020
Show us what have you tried and where you ran into difficulty?
Image Analyst
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().
this is the table, thanks!
I had thought about something like
T = T(T.ISIN~='DE0006205701',:);
but it doesn't work for cell..
I think the solution is
T = T(~contains(T.ISIN,'DE0006205701'),:);

Iniciar sesión para comentar.

 Respuesta aceptada

I fortunately found the answer myself, it's
T = T(~contains(T.ISIN,'DE0006205701'),:);
Moroever, check out Image Analyst's solution, it works too!

Más respuestas (1)

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

thanks a lot for your help, this definitely works!
I think maybe even easier might be
T = T(~contains(T.ISIN,'DE0006205701'),:);

Iniciar sesión para comentar.

Categorías

Etiquetas

Preguntada:

el 13 de Dic. de 2020

Respondida:

el 16 de Dic. de 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by