【问题标题】:How to index table in Matlab based on regular expressions for variable headers?如何根据变量标题的正则表达式在Matlab中索引表?
【发布时间】:2019-09-10 00:46:10
【问题描述】:

我正在尝试读取一个 CSV 文件,该文件的多列数据不适用于我尝试运行的程序。我只想从包含“CX”的列中读取表格。有没有办法在表格中做到这一点?实际上,我正在尝试使用正则表达式对表进行索引。

【问题讨论】:

  • 您是否尝试根据列的内容或列的名称进行过滤?你能分享一个例子吗?

标签: matlab matlab-table


【解决方案1】:

假设您已经将 CSV 加载为表格,并希望根据列变量名称进行选择,您可以使用contains

CX_1 = rand(10,1);
CX_2 = rand(10,1);
CY_1 = rand(10,1);

T = table(CX_1, CY_1, CX_2)

VarNames = T.Properties.VariableNames;
VarsToKeep = contains(VarNames, 'CX');
T_cx = T(:, VarsToKeep)

如果要匹配正则表达式,也可以使用如下:

VarsToKeep = ~cellfun(@isempty, regexp(VarNames, 'CX'));
T_cx = T(:, VarsToKeep)

【讨论】:

    猜你喜欢
    • 2012-03-02
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多