code: def res_from_obseravtion_data(observation_data):
      
      res_df = observation_data.copy()
      res_df.loc[:, "name"] = res_df.pop("obsnme")
      res_df.loc[:, "measured"] = res_df.pop("obsval")
      res_df.loc[:, "group"] = res_df.pop("obgnme")
      res_df.loc[:, "modelled"] = np.NaN
      res_df.loc[:, "residual"] = np.NaN
      return res_df
docs: create a generic residual dataframe filled with np.NaN for
      missing information
  
      Parameters
      ----------
      observation_data : pandas.DataFrame
          pyemu.Pst.observation_data
  
      Returns
      -------
      res_df : pandas.DataFrame