class_docstr: Provides rolling window calculations.
class_docstr_tok: ["Provides","rolling","window","calculations","."]
code: def _call_method(self, method_name, *args, **kwargs):
      rolling_kwargs = self._rolling_kwargs()
      meta = self.pandas_rolling_method(
          self.obj._meta_nonempty,
          rolling_kwargs,
          method_name,
          *args,
          **kwargs,
      )
  
      if self._has_single_partition:
          # There's no overlap just use map_partitions
          return self.obj.map_partitions(
              self.pandas_rolling_method,
              rolling_kwargs,
              method_name,
              *args,
              token=method_name,
              meta=meta,
              **kwargs,
          )
      # Convert window to overlap
      if self.center:
          before = self.window // 2
          after = self.window - before - 1
      elif self._win_type == "freq":
          before = pd.Timedelta(self.window)
          after = 0
      else:
          before = self.window - 1
          after = 0
      return map_overlap(
          self.pandas_rolling_method,
          self.obj,
          before,
          after,
          rolling_kwargs,
          method_name,
          *args,
          token=method_name,
          meta=meta,
          **kwargs,
      )
  
imports: from __future__ import annotations
  import datetime
  import warnings
  from numbers import Integral
  import pandas
  from pandas.api.types import is_datetime64_any_dtype
  from pandas.core.window import Rolling
  from dask.array.core import normalize_arg
  from dask.base import tokenize
  from dask.blockwise import BlockwiseDepDict
  from dask.dataframe import methods
  from dask.dataframe._compat import check_axis_keyword_deprecation
  from dask.dataframe.core import Scalar, _Frame, _get_divisions_map_partitions, _get_meta_map_partitions, _maybe_from_pandas, apply_and_enforce, new_dd_object, partitionwise_graph
  from dask.dataframe.io import from_pandas
  from dask.dataframe.multi import _maybe_align_partitions
  from dask.dataframe.utils import insert_meta_param_description, is_dask_collection, is_dataframe_like, is_series_like
  from dask.delayed import unpack_collections
  from dask.highlevelgraph import HighLevelGraph
  from dask.typing import no_default
  from dask.utils import M, apply, derived_from, funcname, has_keyword
label_desc: Use image node_id 5 for calling the Rolling obj's underlying member method code with example usage: obj._call_method(method_name) and returns: map_overlap, self