code: def _adjust_weights_by_list(self, obslist, weight):
          
  
          obs = self.observation_data
          if not isinstance(obslist, list):
              obslist = [obslist]
          obslist = set([str(i).lower() for i in obslist])
          # groups = obs.groupby([lambda x:x in obslist,
          #                     obs.weight.apply(lambda x:x==0.0)]).groups
          # if (True,True) in groups:
          #    obs.loc[groups[True,True],"weight"] = weight
          reset_names = obs.loc[obs.apply(lambda x: x.obsnme in obslist and x.weight == 0, axis=1), "obsnme"]
          if len(reset_names) > 0:
              obs.loc[reset_names, "weight"] = weight
docs: a private method to reset the weight for a list of observation names.  Supports the
          data worth analyses in pyemu.Schur class.  This method only adjusts
          observation weights in the current weight is nonzero.  User beware!
          Parameters
          ----------
          obslist : list
              list of observation names
          weight : (float)
              new weight to assign