class_docstr: Grouped rolling window calculation.
  
  See Also
  --------
  cudf.core.window.Rolling
class_docstr_tok: ["Grouped","rolling","window","calculation",".","See","Also","--","--","--","--","cudf.core.window.Rolling"]
code: def _apply_agg(self, agg_name):
      if agg_name == "count" and not self._time_window:
          self.min_periods = 0
      index = cudf.MultiIndex.from_frame(
          cudf.DataFrame(
              {
                  key: value
                  for key, value in itertools.chain(
                      self._group_keys._data.items(),
                      self.obj.index._data.items(),
                  )
              }
          )
      )
  
      result = super()._apply_agg(agg_name)
      result.index = index
      return result
  
imports: import itertools
  import numba
  import pandas
  from pandas.api.indexers import BaseIndexer
  import cudf
  from cudf import _lib
  from cudf.api.types import is_integer, is_number
  from cudf.core import column
  from cudf.core._compat import PANDAS_GE_150
  from cudf.core.buffer import acquire_spill_lock
  from cudf.core.column.column import as_column
  from cudf.core.mixins import Reducible
  from cudf.utils import cudautils
  from cudf.utils.utils import GetAttrGetItemMixin
label_desc: Use image node_id 3 for calling the RollingGroupby obj's underlying member method code with example usage: obj._apply_agg(agg_name) and returns: result