code: def _get_df(self):
          
          grids = {}
          df = pd.DataFrame()
          for bnd in self.bands:
              s,b = self.get_band(bnd, **self.kwargs)
              logging.debug('loading {} band from {}'.format(b,s))
              if s not in grids:
                  grids[s] = self.get_hdf(s)
              if self.common_columns[0] not in df:
                  df[list(self.common_columns)] = grids[s][list(self.common_columns)]
              col = grids[s][b]
              n_nan = np.isnan(col).sum()
              if n_nan > 0:
                  logging.debug('{} NANs in {} column'.format(n_nan, b))
              df.loc[:, bnd] = col.values #dunno why it has to be this way; something
                                          # funny with indexing.
  
          return df
docs: Returns stellar model grid with desired bandpasses and with standard column names
  
          bands must be iterable, and are parsed according to :func:``get_band``