【发布时间】:2016-03-09 16:51:16
【问题描述】:
如何在 Matlab 中轻松过滤表格?假设我想过滤一个表,并且只保留第 5 列中的值大于 30 的行。这是如何工作的?
【问题讨论】:
如何在 Matlab 中轻松过滤表格?假设我想过滤一个表,并且只保留第 5 列中的值大于 30 的行。这是如何工作的?
【问题讨论】:
您可以像 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
您也可以使用列 index 访问它。
tbl(tbl{:,1} > 0.5,:)
对于您的情况,这将是 tbl(tbl{:,5} > 30,:)
更多关于访问表数据here的信息。
【讨论】: