Remove successive rows from a table where a specific column value is duplicated

5 visualizaciones (últimos 30 días)
Hi all ,
I HAVE this table A :
time lon lat site
12:45 23.23234 45.2324 ZRY122
13:45 12.21342 34.456 ZRY101
11:2345 1234.24 12.5555 ZRY122
22:34 23.4343 2.34566 ZRY122
22:14 23.4303 2.34596 ZRY555
i want to remove consecutive(successive) rows where site column is same, for example , i want to get this :
time lon lat site
12:45 23.23234 45.2324 ZRY122
13:45 12.21342 34.456 ZRY101
11:2345 1234.24 12.5555 ZRY122
22:14 23.4303 2.34596 ZRY555
UNIQUE here will not work because it will keep only one instance of the column site !!
Thanks

Respuesta aceptada

Matt J
Matt J el 24 de En. de 2021
Editada: Matt J el 24 de En. de 2021
idx = diff([inf;findgroups(A.site)])~=0;
A = A(idx,:)
  2 comentarios
Adam Danz
Adam Danz el 24 de En. de 2021
Editada: Adam Danz el 24 de En. de 2021
Was about to suggest something very similar,
G=findgroups(A.site);
rmIdx = [1;diff(G)]==0;
A(rmIdx,:) = [];

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by