Return index of datetime column in a table

2 visualizaciones (últimos 30 días)
Sonima
Sonima el 26 de Ag. de 2019
Editada: Sonima el 27 de Ag. de 2019
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 comentario
Ted Shultz
Ted Shultz el 26 de Ag. de 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.

Iniciar sesión para comentar.

Respuesta aceptada

Akira Agata
Akira Agata el 27 de Ag. de 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;

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by