Hi, I need help to delete several rows of a table whose column has a zeros for example
column 1 column2
1 2
3 2
4 0
5 6
1 0
9 0
I need delete the rows number 3,5 and 6

 採用された回答

Guillaume
Guillaume 2018 年 5 月 24 日

3 投票

Assuming you indeed have a matlab table:
yourtable(yourtable.column2 == 0, :) = [];
will delete all rows whose column2 is 0.
If your table is actually a matrix:
yourmatrix(yourmatrix(:, 2) == 0, :) = [];
will do the same.

1 件のコメント

Jessica Blasco
Jessica Blasco 2018 年 5 月 24 日
thankssss!!!! it worksss!!! is what I wanted to do it!!

サインインしてコメントする。

その他の回答 (1 件)

Alfonso
Alfonso 2018 年 5 月 24 日
編集済み: Alfonso 2018 年 5 月 24 日

1 投票

Try this
% define your table
table_array = [1 2; 3 2; 4 0; 5 6; 1 0; 9 0];
% search index rows
[index_row index_col] = find(table_array==0);
% delete
table_array( index_row, : ) = [];

2 件のコメント

Guillaume
Guillaume 2018 年 5 月 24 日
編集済み: Guillaume 2018 年 5 月 24 日
Since you never use index_col, you can write:
[index_row, ~] = find(table_array == 0); %force the two output version of find.
A simpler version of the whole lot:
table_array(any(table_array == 0, 2), :) = [];
My understanding however is that the 0s are only in column 2
Jessica Blasco
Jessica Blasco 2018 年 5 月 24 日
thank you very much, it works to matrix very well, buy I have a table. First of all , I had table2array, but later, other partner said me the solution by tables!
even so, thanks! good job!

サインインしてコメントする。

カテゴリ

ヘルプ センター および File Exchange で Cell Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by