How can I count how many rows in a table have the same date?
4 views (last 30 days)
Show older comments
Hey Guys,
I would like to count how many rows are within one day. Please take a look on the Image. There are a lot of rows an they differ from day to day. I simple want to count them and safe this number in a variable.
The next question I have is, how can I count rows within a day and a time period. Like I want to know how man Logs a created from 00:00 to 02:00 am, then from 02:00 - 04:00 pm.
Thank you for your help.
Best regards Andreas
1 Comment
Answers (3)
Sean de Wolski
on 14 Jun 2018
Edited: Sean de Wolski
on 14 Jun 2018
convert table to timetable table2timetable.
retime the timetable with count as the function
0 Comments
Sam Cook
on 14 Jun 2018
First, you need a range of times (buckets/intervals) to check. This will vary depending on exactly what time periods you're interested in (hourly, daily, etc). Here the time period is every 2 hours from June 13 to June 14.
times = datetime(2018, 6, 13):hours(2):datetime(2018, 6, 14);
Then, for each interval, you want to count the number of rows that are within that interval. Again, this code will vary based on how your data is formatted. In this example, 'data' is a datetime vector.
counts = zeros(1, length(times) - 1);
for i=1:length(times) - 1
intStart = times(i);
intEnd = time(i + 1);
counts(i) = nnz(data > intStart & data <= intEnd);
end
These counts refer to their respective interval (EG counts(1) is the number of entries from times(1) to times(2), counts(5) from times(5) to times(6), etc).
1 Comment
See Also
Categories
Find more on Data Preprocessing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!