How to delete specific rows in a table based on a value?
    65 views (last 30 days)
  
       Show older comments
    
    Carl Schneegaß
 on 13 Dec 2020
  
    
    
    
    
    Answered: Carl Schneegaß
 on 16 Dec 2020
            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 Comments
Accepted Answer
More Answers (1)
  Image Analyst
      
      
 on 13 Dec 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.
See Also
Categories
				Find more on Logical in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!