How can I merge successive row values (sum of the values) of the column Y according to a condition in column X?

1 view (last 30 days)
Dear,
Hope everyone is doing well!
My issue is: I have a two data columns (X and Y) and datime column (10 min interval). I want to merge the successive row values (sum) of column Y if the corresponding values of column X are 0. Otherwise, if one of the X row equals to 1, then no merge.
Knowing that X contains only 0 and 1 values.
Thank you for your collaboration.
  2 Comments
Matt J
Matt J on 19 Apr 2022
Doesn't that mean that all the Y values in the data you've shown will be summed? There are no ones in the X column at all, so why have you designated only the specific rows circled in red?

Sign in to comment.

Answers (1)

Peter Perkins
Peter Perkins on 18 May 2022
You want to do grouped sums, where the groups are defined by consecutive zeros in X. Once you have the groups defined as a new variable in (what should be) a timetable, it's a simple matter of calling groupsummary. Usually defining groups like that involves tricks with cumsum and diff. But without a clear example of what you have and what you want, I won't hazard a guess.

Categories

Find more on Tables in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!