Azzera filtri
Azzera filtri

filter table by character string entry

103 visualizzazioni (ultimi 30 giorni)
Hello,
I have table T which contains string entries in the second column (named 'column_name').
Two questions:
  1. How can I filter the table (or create a new table), so that only those rows are included whose 2nd column entry equals the filter parameter (e.g. 'FieldSlew1')?
  2. How can I filter the table (or create a new table), so that only those rows are included whose 2nd column entry contain the filter parameter (e.g. 'FieldSlew')?
For information regarding formats:
When querying, I get the following results
>> T(1, 2)
ans =
table
column_name
____________
'FieldSlew1'
I have tried using "for" loops, but this takes forever.
Thank you for advice,
Dan

Risposta accettata

Andreas Kvalbein Fjetland
Andreas Kvalbein Fjetland il 30 Gen 2019
Modificato: Andreas Kvalbein Fjetland il 30 Gen 2019
Hi Dan,
try this method out.
%create random table
t1 = [1,2,3,4]';
t2 = {'Hei','boo','Hei','boo'}';
tbl = table();
tbl.t1 = t1;
tbl.t2 = t2;
% Convert to categorical, as i presume this is reoccuring values
tbl.t2 = categorical(tbl.t2)
% index rows with the correct variables in column
idx = tbl.t2 == 'boo';
% create table based on index
newtbl = tbl(idx,:);

Più risposte (0)

Categorie

Scopri di più su Tables in Help Center e File Exchange

Prodotti


Release

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by