Return index of datetime column in a table
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi!
I have a very long table which I want to return index to specific raws.
>> head(HData)
Time
_____________________
'2019.08.22 12:00:00'
'2019.08.22 12:15:00'
'2019.08.22 12:30:00'
I want to return in dex for the raws
'2019.08.22 12:00:00'
Thanks.
1 commentaire
Ted Shultz
le 26 Août 2019
is the time variable a matlab datetime number, or is it a string? This will use much less data, and be easier to work with if it was a datetime.
it usualy isn't too much work to convert strings to datetime arrays.
Réponse acceptée
Akira Agata
le 27 Août 2019
If your HData.Time column is string:
% index of zero seconds
idx_s = cellfun(@(x) ~isempty(x),regexp(HData.Time,'00$','match'));
% index of zero minutes
idx_m = cellfun(@(x) ~isempty(x),regexp(HData.Time,':00:','match'));
Or, if your HData.Time column is datetime, it becomes much simpler, like:
% index of zero seconds
idx_s = HData.Time.Second == 0;
% index of zero minutes
idx_m = HData.Time.Minute == 0;
0 commentaires
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!