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 commentaires

dpb
dpb le 13 Déc 2020
Show us what have you tried and where you ran into difficulty?
Image Analyst
Image Analyst le 13 Déc 2020
Modifié(e) : Image Analyst le 13 Déc 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'),:);

Connectez-vous pour commenter.

 Réponse acceptée

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

Plus de réponses (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 commentaire

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

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by