Sort cell array by datetime
114 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Tycho Maas
le 23 Déc 2020
Réponse apportée : Eric Sofen
le 5 Jan 2021
I want to sort an array, that looks like the one below, by datetime.
70 26-Nov-2020 10:50:29
84 26-Nov-2020 10:00:00
79.5 26-Nov-2020 14:35:20
53 29-Nov-2020 12:31:00
Any idea how to do this?
0 commentaires
Réponse acceptée
Jemima Pulipati
le 26 Déc 2020
Hello,
From my understanding, you want to sort the rows in the cell array according to the datetime values mentioned in the column.
Here is an example code (sorts in ascending order) using the data you mentioned:
% sample cell array
a = {70, '26-Nov-2020 10:50:29';
84, '26-Nov-2020 10:00:00';
79.5, '26-Nov-2020 14:35:20';
53, '29-Nov-2020 12:31:00'};
[~, idx] = sort(datenum(a(:,2), 'dd-mm-yyyy hh:MM:ss'), 1, 'ascend');
sortedData = a(idx,:);
Here are some answers from the community which might be of relevance to you:
Plus de réponses (1)
Eric Sofen
le 5 Jan 2021
Even better, since you're working with data where each column has a different type, consider using a timetable.
t = table2timetable(cell2table(a));
t = sortrows(t);
0 commentaires
Voir également
Catégories
En savoir plus sur Shifting and Sorting Matrices 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!