class_docstr: Fits a normalizer for array data.
  
  To encode, `ArrayEncoder` returns a normalized window of previous data.
  It can be used for generic arrays, as well as for handling historical target values in time series tasks.
  
  Currently supported normalizing strategies are minmax for numerical arrays, and a simple one-hot for categorical arrays. See `lightwood.encoder.helpers` for more details on each approach.
docstr: :param stop_after: time budget in seconds.
  :param window: expected length of array data.
  :param original_type: element-wise data type
docstr_tok: [":","param","stop_after",":","time","budget","in","seconds",".",":","param","window",":","expected","length","of","array","data",".",":","param","original_type",":","element-wise","data","type"]
code: def __init__(
      self,
      stop_after: float,
      window: int = None,
      is_target: bool = False,
      original_type: dtype = None,
  ):
      """
      :param stop_after: time budget in seconds.
      :param window: expected length of array data.
      :param original_type: element-wise data type
      """  # noqa
  
      super().__init__(is_target)
      self.stop_after = stop_after
      self.original_type = original_type
      self._normalizer = None
      if window is not None:
          self.output_size = window + 1
      else:
          self.output_size = None
  
imports: import torch
  import pandas
  import numpy
  from lightwood.encoder.base import BaseEncoder
  from type_infer.dtype import dtype
  from lightwood.encoder.helpers import MinMaxNormalizer, CatNormalizer
  from lightwood.helpers.general import is_none
  from typing import List, Iterable
label_desc: Use image node_id 1 to create a new ArrayEncoder object from inherited base classes: BaseEncoder with example: obj = ArrayEncoder(stop_after, window, is_target, original_type)