code: def _upsample(self, method, *args, **kwargs):
          
  
          upsampled_index = self._full_index
  
          # Drop non-dimension coordinates along the resampled dimension
          for k, v in self._obj.coords.items():
              if k == self._dim:
                  continue
              if self._dim in v.dims:
                  self._obj = self._obj.drop(k)
  
          if method == 'asfreq':
              return self.mean(self._dim)
  
          elif method in ['pad', 'ffill', 'backfill', 'bfill', 'nearest']:
              kwargs = kwargs.copy()
              kwargs.update(**{self._dim: upsampled_index})
              return self._obj.reindex(method=method, *args, **kwargs)
  
          elif method == 'interpolate':
              return self._interpolate(*args, **kwargs)
  
          else:
              raise ValueError('Specified method was "{}" but must be one of'
                               '"asfreq", "ffill", "bfill", or "interpolate"'
                               .format(method))
docs: Dispatch function to call appropriate up-sampling methods on
          data.
  
          This method should not be called directly; instead, use one of the
          wrapper functions supplied by `Resample`.
  
          Parameters
          ----------
          method : str {'asfreq', 'pad', 'ffill', 'backfill', 'bfill', 'nearest',
                   'interpolate'}
              Method to use for up-sampling
  
          See Also
          --------
          Resample.asfreq
          Resample.pad
          Resample.backfill
          Resample.interpolate