class_docstr: Pull calculation based on rolling mean and standard deviations
docstr: Initialize an instance of HistComparer.
  
  :param str read_key: key of input data to read from data store
  :param int window: size of rolling window
  :param int shift: shift of the window, default is 1.
  :param list features: list of features to calculate pull for.
  :param str store_key: key of the output data to store in the datastore (optional)
  :param str suffix_mean: suffix of mean. mean column = metric + suffix_mean
  :param str suffix_std: suffix of std. std column = metric + suffix_std
  :param str suffix_pull: suffix of pull. pull column = metric + suffix_pull
  :param args: (tuple, optional): residual args passed on to mean and std functions
  :param kwargs: (dict, optional): residual kwargs passed on to mean and std functions
docstr_tok: ["Initialize","an","instance","of","HistComparer",".",":","param","str","read_key",":","key","of","input","data","to","read","from","data","store",":","param","int","window",":","size","of","rolling","window",":","param","int","shift",":","shift","of","the","window",",","default","is","1.",":","param","list","features",":","list","of","features","to","calculate","pull","for",".",":","param","str","store_key",":","key","of","the","output","data","to","store","in","the","datastore","(","optional",")",":","param","str","suffix_mean",":","suffix","of","mean",".","mean","column","=","metric","+","suffix_mean",":","param","str","suffix_std",":","suffix","of","std",".","std","column","=","metric","+","suffix_std",":","param","str","suffix_pull",":","suffix","of","pull",".","pull","column","=","metric","+","suffix_pull",":","param","args",":","(","tuple",",","optional",")",":","residual","args","passed","on","to","mean","and","std","functions",":","param","kwargs",":","(","dict",",","optional",")",":","residual","kwargs","passed","on","to","mean","and","std","functions"]
code: def __init__(
      self,
      read_key,
      window,
      shift: int = 1,
      features=None,
      store_key=None,
      suffix_mean: str = "_roll_mean",
      suffix_std: str = "_roll_std",
      suffix_pull: str = "_roll_pull",
      *args,
      **kwargs,
  ) -> None:
      """Initialize an instance of HistComparer.
  
      :param str read_key: key of input data to read from data store
      :param int window: size of rolling window
      :param int shift: shift of the window, default is 1.
      :param list features: list of features to calculate pull for.
      :param str store_key: key of the output data to store in the datastore (optional)
      :param str suffix_mean: suffix of mean. mean column = metric + suffix_mean
      :param str suffix_std: suffix of std. std column = metric + suffix_std
      :param str suffix_pull: suffix of pull. pull column = metric + suffix_pull
      :param args: (tuple, optional): residual args passed on to mean and std functions
      :param kwargs: (dict, optional): residual kwargs passed on to mean and std functions
      """
      kws = {"window": window, "shift": shift, **kwargs}
      super().__init__(
          rolling_mean,
          rolling_std,
          read_key,
          read_key,
          store_key,
          suffix_mean,
          suffix_std,
          suffix_pull,
          features,
          *args,
          **kws,
      )
      self.read_key = read_key
      self.window = window
  
imports: import numpy
  import pandas
  from popmon.analysis.apply_func import ApplyFunc
  from popmon.analysis.functions import expanding_mean, expanding_std, pull, rolling_mean, rolling_std
  from popmon.base import Pipeline
  from popmon.stats.numpy import mad
label_desc: Use image node_id 1 to create a new RollingPullCalculator object from inherited base classes: PullCalculator with example: obj = RollingPullCalculator(read_key, window, shift, features, store_key, suffix_mean, suffix_std, suffix_pull)