How can I count how many rows in a table have the same date?

21 views (last 30 days)
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
jonas
jonas on 12 Jun 2018
Edited: jonas on 12 Jun 2018
You probably want to use either the unique() function or logical indexing, can you upload some data to work with?

Sign in to comment.

Answers (3)

Sean de Wolski
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

Sam Cook
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).

Walter Roberson
Walter Roberson on 14 Jun 2018

Categories

Find more on Tables 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!