Filter löschen
Filter löschen

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

106 Ansichten (letzte 30 Tage)
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 Kommentare
Carl Schneegaß
Carl Schneegaß am 13 Dez. 2020
I had thought about something like
T = T(T.ISIN~='DE0006205701',:);
but it doesn't work for cell..
Carl Schneegaß
Carl Schneegaß am 13 Dez. 2020
I think the solution is
T = T(~contains(T.ISIN,'DE0006205701'),:);

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

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

Weitere Antworten (1)

Image Analyst
Image Analyst am 13 Dez. 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 Kommentar
Carl Schneegaß
Carl Schneegaß am 13 Dez. 2020
thanks a lot for your help, this definitely works!
I think maybe even easier might be
T = T(~contains(T.ISIN,'DE0006205701'),:);

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Tables finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by