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.

Catégories

En savoir plus sur Environment and Settings dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by