code: def get_par_css_dataframe(self):
          
  
          assert self.jco is not None
          assert self.pst is not None
          jco = self.jco.to_dataframe()
          weights = self.pst.observation_data.loc[jco.index,"weight"].copy().values
          jco = (jco.T * weights).T
  
          dss_sum = jco.apply(np.linalg.norm)
          css = (dss_sum / float(self.pst.nnz_obs)).to_frame()
          css.columns = ["pest_css"]
          # log transform stuff
          self.pst.add_transform_columns()
          parval1 = self.pst.parameter_data.loc[dss_sum.index,"parval1_trans"].values
          css.loc[:,"hill_css"] = (dss_sum * parval1) / (float(self.pst.nnz_obs)**2)
          return css
docs: get a dataframe of composite scaled sensitivities.  Includes both
          PEST-style and Hill-style.
  
          Returns
          -------
          css : pandas.DataFrame