class_docstr: (Sep)erate DataFrame
  We usually concat multiple dataframe to be processed together(Such as feature, label, weight, filter).
  However, they are usually be used separately at last.
  This will result in extra cost for concatenating and splitting data(reshaping and copying data in the memory is very expensive)
  
  SepDataFrame tries to act like a DataFrame whose column with multiindex
docstr: initialize the data based on the dataframe dictionary
  
  Parameters
  ----------
  df_dict : Dict[str, pd.DataFrame]
      dataframe dictionary
  join : str
      how to join the data
      It will reindex the dataframe based on the join key.
      If join is None, the reindex step will be skipped
  
  skip_align :
      for some cases, we can improve performance by skipping aligning index
docstr_tok: ["initialize","the","data","based","on","the","dataframe","dictionary","Parameters","--","--","--","--","--","df_dict",":","Dict","[","str",",","pd.DataFrame","]","dataframe","dictionary","join",":","str","how","to","join","the","data","It","will","reindex","the","dataframe","based","on","the","join","key",".","If","join","is","None",",","the","reindex","step","will","be","skipped","skip_align",":","for","some","cases",",","we","can","improve","performance","by","skipping","aligning","index"]
code: def __init__(
      self,
      df_dict: Dict[str, pd.DataFrame],
      join: str,
      skip_align=False,
  ):
      """
      initialize the data based on the dataframe dictionary
  
      Parameters
      ----------
      df_dict : Dict[str, pd.DataFrame]
          dataframe dictionary
      join : str
          how to join the data
          It will reindex the dataframe based on the join key.
          If join is None, the reindex step will be skipped
  
      skip_align :
          for some cases, we can improve performance by skipping aligning index
      """
      self.join = join
  
      if skip_align:
          self._df_dict = df_dict
      else:
          self._df_dict = align_index(df_dict, join)
  
imports: import pandas
  from typing import Dict, Iterable, Union
  import builtins
label_desc: Use image node_id 1 to create a new SepDataFrame object  with example: obj = SepDataFrame(df_dict, join, skip_align)