code: def get_DataFrame(self, data=False, with_unit=True, with_population=True):
          
  
          for key in self.__dict__:
              if (key is 'unit') and not with_unit:
                  continue
              if (key is 'population') and not with_population:
                  continue
              if type(self.__dict__[key]) is pd.DataFrame:
                  if data:
                      yield getattr(self, key)
                  else:
                      yield key
docs: Yields all panda.DataFrames or there names
  
          Notes
          -----
          For IOSystem this does not include the DataFrames in the extensions.
  
          Parameters
          ----------
          data : boolean, optional
              If True, returns a generator which yields the DataFrames.
              If False, returns a generator which
              yields only the names of the DataFrames
  
          with_unit: boolean, optional
              If True, includes the 'unit' DataFrame
              If False, does not include the 'unit' DataFrame.
              The method than only yields the numerical data tables
  
          with_population: boolean, optional
              If True, includes the 'population' vector
              If False, does not include the 'population' vector.
  
          Returns
          -------
              DataFrames or string generator, depending on parameter data