How to find the index of string column in a table?
35 次查看(过去 30 天)
显示 更早的评论
How to get the column ids of a table with string column.
LastName = {'Sanchez';'Johnson';'Li';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Health = {'Fair';'Poor';'Excellent';'Good';'Fair'};
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];
T1 = table(LastName,Age,Health,Height,Weight,BloodPressure)
In the above example the first and third columns are of string datatype.
So I wanted to get
idx = [1 3];
How do I find the index of string column?
0 个评论
采纳的回答
Cris LaPierre
2023-4-25
First comment - none of your table variables are strings. They are cell arrays of character vectors. That may matter depending how you implement a solution.
There are a couple ways depending on what you ultimately want to do. If you want to extract the colums, see the Access Data in Tables doc page. Use this syntax: S = vartype(type); T{rows,S}
LastName = {'Sanchez';'Johnson';'Li';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Health = {'Fair';'Poor';'Excellent';'Good';'Fair'};
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];
T1 = table(LastName,Age,Health,Height,Weight,BloodPressure)
S = vartype("cell");
T1(:,S)
However, if you do want the index number, the most direct way I can think of is to use varfun with iscell.
idx_LI = varfun(@iscell,T1,'OutputFormat','uniform')
C = 1:width(T1);
idx = C(idx_LI)
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Cell Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!