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 个评论
dpb
2020-12-13
Show us what have you tried and where you ran into difficulty?
Image Analyst
2020-12-13
编辑:Image Analyst
2020-12-13
Attach your table in a .mat file so we can try things with it.
save('answers.mat', 'T');
In the meantime, try ismember().
Carl Schneegaß
2020-12-13
Carl Schneegaß
2020-12-13
Carl Schneegaß
2020-12-13
采纳的回答
更多回答(1 个)
Image Analyst
2020-12-13
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.
类别
在 帮助中心 和 File Exchange 中查找有关 Numeric Types 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!