Effacer les filtres
Effacer les filtres

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

3 vues (au cours des 30 derniers jours)
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

Réponse acceptée

Matt J
Matt J le 24 Jan 2021
Modifié(e) : Matt J le 24 Jan 2021
idx = diff([inf;findgroups(A.site)])~=0;
A = A(idx,:)
  2 commentaires
Adam Danz
Adam Danz le 24 Jan 2021
Modifié(e) : Adam Danz le 24 Jan 2021
Was about to suggest something very similar,
G=findgroups(A.site);
rmIdx = [1;diff(G)]==0;
A(rmIdx,:) = [];
Tareq Rahmani
Tareq Rahmani le 25 Jan 2021
Thanks very much Adam and Matt.
Excellent

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur NaNs 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