class_docstr: Transforms a time series into a differentiated time series of order n.
  It also reverts the differentiation.
  
  Parameters
  ----------
  order : int
      Order of differentiation.
  
  Attributes
  ----------
  order : int
      Order of differentiation.
  initial_values : list
      List with the initial value of the time series after each differentiation.
      This is used to revert the differentiation.
  last_values : list
      List with the last value of the time series after each differentiation.
      This is used to revert the differentiation of a new window of data. A new
      window of data is a time series that starts right after the time series
      used to fit the transformer.
class_docstr_tok: ["Transforms","a","time","series","into","a","differentiated","time","series","of","order","n.","It","also","reverts","the","differentiation",".","Parameters","--","--","--","--","--","order",":","int","Order","of","differentiation",".","Attributes","--","--","--","--","--","order",":","int","Order","of","differentiation",".","initial_values",":","list","List","with","the","initial","value","of","the","time","series","after","each","differentiation",".","This","is","used","to","revert","the","differentiation",".","last_values",":","list","List","with","the","last","value","of","the","time","series","after","each","differentiation",".","This","is","used","to","revert","the","differentiation","of","a","new","window","of","data",".","A","new","window","of","data","is","a","time","series","that","starts","right","after","the","time","series","used","to","fit","the","transformer","."]
docstr: Fits the transformer. This method only removes the values stored in
  `self.initial_values`.
  
  Parameters
  ----------
  X : numpy ndarray
      Time series to be differentiated.
  y : Ignored
      Not used, present here for API consistency by convention.
  
  Returns
  -------
  self : TimeSeriesDifferentiator
docstr_tok: ["Fits","the","transformer",".","This","method","only","removes","the","values","stored","in","`","self.initial_values","`",".","Parameters","--","--","--","--","--","X",":","numpy","ndarray","Time","series","to","be","differentiated",".","y",":","Ignored","Not","used",",","present","here","for","API","consistency","by","convention",".","Returns","--","--","--","-","self",":","TimeSeriesDifferentiator"]
code: def fit(self, X: np.ndarray, y: Any = None) -> Self:
      """
      Fits the transformer. This method only removes the values stored in
      `self.initial_values`.
  
      Parameters
      ----------
      X : numpy ndarray
          Time series to be differentiated.
      y : Ignored
          Not used, present here for API consistency by convention.
  
      Returns
      -------
      self : TimeSeriesDifferentiator
  
      """
  
      self.initial_values = []
      self.last_values = []
  
      for i in range(self.order):
          if i == 0:
              self.initial_values.append(X[0])
              self.last_values.append(X[-1])
              X_diff = np.diff(X, n=1)
          else:
              self.initial_values.append(X_diff[0])
              self.last_values.append(X_diff[-1])
              X_diff = np.diff(X_diff, n=1)
  
      return self
  
file_path: skforecast/skforecast/preprocessing/preprocessing.py
imports: import numpy
  from sklearn.base import BaseEstimator
  from sklearn.base import TransformerMixin
  from typing import Any
  from typing_extensions import Self
label_desc: Use image node_id 2 for calling the TimeSeriesDifferentiator obj's underlying member method code with example usage: obj.fit(X, y) and returns: self