如何在Matlab中轻松过滤表格?假设我想过滤一个表,只保留第5列中的值大于30的行。这是如何工作的?
答案 0 :(得分:4)
您可以像normal logical indexing那样执行此操作。
tbl = table(rand(10,1), rand(10,1), 'VariableNames', {'a', 'b'});
a b
_______ _______
0.64432 0.20774
0.37861 0.30125
0.81158 0.47092
0.53283 0.23049
0.35073 0.84431
0.939 0.19476
0.87594 0.22592
0.55016 0.17071
0.62248 0.22766
0.58704 0.4357
现在我们抓住列a
大于0.5的所有行(tbl.a > 0.5
)
tbl(tbl.a > 0.5,:)
a b
_______ _______
0.64432 0.20774
0.81158 0.47092
0.53283 0.23049
0.939 0.19476
0.87594 0.22592
0.55016 0.17071
0.62248 0.22766
0.58704 0.4357
您也可以使用索引列来访问它。
tbl(tbl{:,1} > 0.5,:)
对于您的情况,这将是tbl(tbl{:,5} > 30,:)
有关访问表格数据here的更多信息。