class_docstr:     An abstract statistical model class for panel (longitudinal) datasets.
  
      Parameters
      ----------
      endog : array_like or str
          If a pandas object is used then endog should be the name of the
          endogenous variable as a string.
  #    exog
  #    panel_arr
  #    time_arr
      panel_data : pandas.Panel object
  
      Notes
      -----
      If a pandas object is supplied it is assumed that the major_axis is time
      and that the minor_axis has the panel variable.
      
class_docstr_tok: ["An","abstract","statistical","model","class","for","panel","(","longitudinal",")","datasets",".","Parameters","--","--","--","--","--","endog",":","array_like","or","str","If","a","pandas","object","is","used","then","endog","should","be","the","name","of","the","endogenous","variable","as","a","string",".","#","exog","#","panel_arr","#","time_arr","panel_data",":","pandas.Panel","object","Notes","--","--","-","If","a","pandas","object","is","supplied","it","is","assumed","that","the","major_axis","is","time","and","that","the","minor_axis","has","the","panel","variable","."]
code: def __init__(
      self,
      endog=None,
      exog=None,
      panel=None,
      time=None,
      xtnames=None,
      equation=None,
      panel_data=None,
  ):
      if panel_data is None:
          #            if endog == None and exog == None and panel == None and \
          #                    time == None:
          #                raise ValueError("If pandel_data is False then endog, exog, \
          # panel_arr, and time_arr cannot be None.")
          self.initialize(endog, exog, panel, time, xtnames, equation)
  
imports: from functools import reduce
  import numpy
  from statsmodels.regression.linear_model import GLS
  from pandas import Panel
label_desc: Use image node_id 1 to create a new PanelModel object  with example: obj = PanelModel(endog, exog, panel, time, xtnames, equation, panel_data)