def get_par_css_dataframe(self):
        """ get a dataframe of composite scaled sensitivities.  Includes both
        PEST-style and Hill-style.

        Returns
        -------
        css : pandas.DataFrame

        """

        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
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" ] 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
get a dataframe of composite scaled sensitivities.  Includes both
        PEST-style and Hill-style.

        Returns
        -------
        css : pandas.DataFrame