How can I perform rolling operations without a fixed window size?
I have a table of data where I'd like to calculate some rolling metrics. However, instead of a fixed window size, I'd like the rolling metrics to be based on values in another column. When I see a particular value in the other column, I want the metrics to reset. How can I do this?You can accomplish this with an update
or an update_view
and two update_by
operations. Say, for instance, you have a source
table with two columns: Value
and Sym
. You want to calculate the running sum of Value
, but have that sum reset every time DesiredValue
occurs in Sym
. A solution would look something like this:
result = source.update_view(["Counter = Sym == `DesiredValue`"]).update_by(
ops=cum_sum(["SumValue = Value"], by=["Counter"])
)
Note
These FAQ pages contain answers to questions about Deephaven Community Core that our users have asked in our Community Slack. If you have a question that is not in our documentation, join our Community and we'll be happy to help!