class_docstr: Imputes nulls in time series data.
  
  This transform is stateless in the sense that ``transform`` output
  does not depend on the data passed to ``fit``. The dataset passed to
  ``transform`` is used to impute itself.
  
  Parameters
  ----------
  max_frac : `float`, default 0.10
      issues warning if fraction of nulls is above this value
  impute_algorithm  : `str` or None, default "interpolate"
      Which imputation algorithm to use.
      Valid options are:
  
          - "interpolate" : `pandas.DataFrame.interpolate`
          - "ts_interpolate" : `~greykite.common.features.timeseries_impute.impute_with_lags_multi`.
  
      If None, this transformer is a no-op. No null imputation is done.
  
  impute_params : `dict` or None, default None
      Params to pass to the imputation algorithm.
      See `pandas.DataFrame.interpolate` and
      `~greykite.common.features.timeseries_impute.impute_with_lags_multi`
      for their respective options.
  
      For pandas "interpolate", the "ffill", "pad", "bfill", "backfill" methods
      are not allowed to avoid confusion with the fill axis parameter. Use "linear"
      with ``axis=0`` instead, with direction controlled by ``limit_direction``.
  
      If None, uses the defaults provided in this class.
  impute_all : `bool`, default True
      Whether to impute all values. If True, NaNs are not allowed in the
      transformed result. Ignored if ``impute_algorithm`` is None.
  
      The transform specified by ``impute_algorithm`` and
      ``impute_params`` may leave NaNs in the dataset. For example,
      if it fills in the forward direction but the first value in a
      column is NaN.
  
      A first pass is taken with the impute algorithm specified.
      A second pass is taken with the "interpolate" algorithm (method="linear",
      limit_direction="both") to fill in remaining NaNs.
  
  Attributes
  ----------
  null_frac : `int`
      The fraction data points that are null
  _is_fitted : `bool`
      Whether the transformer is fitted.
  missing_info : `dict`
      Information about the missing data.
      Set by ``transform`` if ``impute_algorithm = "ts_interpolate"``.
class_docstr_tok: ["Imputes","nulls","in","time","series","data",".","This","transform","is","stateless","in","the","sense","that","``","transform","``","output","does","not","depend","on","the","data","passed","to","``","fit","``",".","The","dataset","passed","to","``","transform","``","is","used","to","impute","itself",".","Parameters","--","--","--","--","--","max_frac",":","`","float","`",",","default","0.10","issues","warning","if","fraction","of","nulls","is","above","this","value","impute_algorithm",":","`","str","`","or","None",",","default","``","interpolate","''","Which","imputation","algorithm","to","use",".","Valid","options","are",":","-","``","interpolate","''",":","`","pandas.DataFrame.interpolate","`","-","``","ts_interpolate","''",":","`","~greykite.common.features.timeseries_impute.impute_with_lags_multi","`",".","If","None",",","this","transformer","is","a","no-op",".","No","null","imputation","is","done",".","impute_params",":","`","dict","`","or","None",",","default","None","Params","to","pass","to","the","imputation","algorithm",".","See","`","pandas.DataFrame.interpolate","`","and","`","~greykite.common.features.timeseries_impute.impute_with_lags_multi","`","for","their","respective","options",".","For","pandas","``","interpolate","''",",","the","``","ffill","''",",","``","pad","''",",","``","bfill","''",",","``","backfill","''","methods","are","not","allowed","to","avoid","confusion","with","the","fill","axis","parameter",".","Use","``","linear","''","with","``","axis=0","``","instead",",","with","direction","controlled","by","``","limit_direction","``",".","If","None",",","uses","the","defaults","provided","in","this","class",".","impute_all",":","`","bool","`",",","default","True","Whether","to","impute","all","values",".","If","True",",","NaNs","are","not","allowed","in","the","transformed","result",".","Ignored","if","``","impute_algorithm","``","is","None",".","The","transform","specified","by","``","impute_algorithm","``","and","``","impute_params","``","may","leave","NaNs","in","the","dataset",".","For","example",",","if","it","fills","in","the","forward","direction","but","the","first","value","in","a","column","is","NaN",".","A","first","pass","is","taken","with","the","impute","algorithm","specified",".","A","second","pass","is","taken","with","the","``","interpolate","''","algorithm","(","method=","''","linear","''",",","limit_direction=","''","both","''",")","to","fill","in","remaining","NaNs",".","Attributes","--","--","--","--","--","null_frac",":","`","int","`","The","fraction","data","points","that","are","null","_is_fitted",":","`","bool","`","Whether","the","transformer","is","fitted",".","missing_info",":","`","dict","`","Information","about","the","missing","data",".","Set","by","``","transform","``","if","``","impute_algorithm","=","``","ts_interpolate","''","``","."]
docstr: Updates `self.impute_params`.
  
  Parameters
  ----------
  X : `pandas.DataFrame`
      Training input data. e.g. each column is a timeseries.
      Columns are expected to be numeric.
  y : None
      There is no need of a target in a transformer, yet the pipeline API
      requires this parameter.
  
  Returns
  -------
  self : object
      Returns self.
docstr_tok: ["Updates","`","self.impute_params","`",".","Parameters","--","--","--","--","--","X",":","`","pandas.DataFrame","`","Training","input","data",".","e.g",".","each","column","is","a","timeseries",".","Columns","are","expected","to","be","numeric",".","y",":","None","There","is","no","need","of","a","target","in","a","transformer",",","yet","the","pipeline","API","requires","this","parameter",".","Returns","--","--","--","-","self",":","object","Returns","self","."]
code: def fit(self, X, y=None):
      """Updates `self.impute_params`.
  
      Parameters
      ----------
      X : `pandas.DataFrame`
          Training input data. e.g. each column is a timeseries.
          Columns are expected to be numeric.
      y : None
          There is no need of a target in a transformer, yet the pipeline API
          requires this parameter.
  
      Returns
      -------
      self : object
          Returns self.
      """
      assert isinstance(X, pd.DataFrame)
      self._is_fitted = True
      # sets default parameters
      if self.impute_algorithm is not None:
          default_params = DEFAULT_PARAMS.get(self.impute_algorithm, {})
          self.impute_params = update_dictionary(
              default_params, overwrite_dict=self.impute_params
          )
      return self
  
file_path: greykite/greykite/sklearn/transform/null_transformer.py
imports: import warnings
  import numpy
  import pandas
  from sklearn.base import BaseEstimator
  from sklearn.base import TransformerMixin
  from sklearn.exceptions import NotFittedError
  from greykite.common.features.timeseries_impute import impute_with_lags_multi
  from greykite.common.logging import LoggingLevelEnum
  from greykite.common.logging import log_message
  from greykite.common.python_utils import update_dictionary
label_desc: Use image node_id 2 for calling the NullTransformer obj's underlying member method code with example usage: obj.fit(X, y) and returns: self