Effacer les filtres
Effacer les filtres

delete rows in a table

194 vues (au cours des 30 derniers jours)
Jessica Blasco
Jessica Blasco le 24 Mai 2018
Commenté : Jessica Blasco le 24 Mai 2018
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

Réponse acceptée

Guillaume
Guillaume le 24 Mai 2018
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 commentaire
Jessica Blasco
Jessica Blasco le 24 Mai 2018
thankssss!!!! it worksss!!! is what I wanted to do it!!

Connectez-vous pour commenter.

Plus de réponses (1)

Alfonso
Alfonso le 24 Mai 2018
Modifié(e) : Alfonso le 24 Mai 2018
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 commentaires
Guillaume
Guillaume le 24 Mai 2018
Modifié(e) : Guillaume le 24 Mai 2018
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 le 24 Mai 2018
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!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Tables dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by