How to remove rows in table that have empty values

9 visualizaciones (últimos 30 días)
Rizwan Khan
Rizwan Khan el 23 de Sept. de 2021
Comentada: Image Analyst el 23 de Sept. de 2021
I have the following tables with two columns
Look at the second last and third last rows, see how the right column has values []
I want to remove all rows within the table that have that value []
My main objectives is to sort the table by the right column, however, i cannot because it errors "Some cells in X contain non-scalar values and cannot be sorted."
So i'm thinking if i can remove all rows of data that have the values [], then i can sort it.
Please inform how I can do this
'A' 52201554
'B' 2130725
'C' 138307808
'AAC' 1220000
'AAC.U' []
'AAC.WS' []
'AAIC' 121888

Respuestas (1)

KSSV
KSSV el 23 de Sept. de 2021
Let T be your table.
idx = ismepty(T.(2)) ;
T(idx,:) = [] ;
  2 comentarios
Rizwan Khan
Rizwan Khan el 23 de Sept. de 2021
Dear Sir,
I tried your suggestion, however, isempty(T.(2)) just returns a single value not an series of values.
so the value return in idx is just 0, not the list of index values that are empty
Rizwan Khan
Rizwan Khan el 23 de Sept. de 2021
Dear Sir,
Your code did give me an idea.
when i do isempty(cell2mat(T.(2)(5)) i get true
so if i check the data in row 5 column 2 in the table above, by first converting from cell2mat, i get true
But the problem now is, how can i run that across the complete table without using a for loop.
So when i do the code below i get an error "All contents of the input cell array must be of the same data type."
isempty(cell2mat(T.(2)))

Iniciar sesión para comentar.

Categorías

Más información sobre Tables en Help Center y File Exchange.

Productos


Versión

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by