docs: def resample(self, sampling_rate, inplace=False, kind='linear'):
          '''Resample the Variable to the specified sampling rate.
  
          Parameters
          ----------
          sampling_rate : :obj:`int`, :obj:`float`
              Target sampling rate (in Hz).
          inplace : :obj:`bool`, optional
              If True, performs resampling in-place. If False, returns a resampled
              copy of the current Variable. Default is False.
          kind : {'linear', 'nearest', 'zero', 'slinear', 'quadratic', 'cubic'}
              Argument to pass to :obj:`scipy.interpolate.interp1d`; indicates
              the kind of interpolation approach to use. See interp1d docs for
              valid values. Default is 'linear'.
          '''
          if not inplace:
              var = self.clone()
              var.resample(sampling_rate, True, kind)
              return var
  
          if sampling_rate == self.sampling_rate:
              return
  
          old_sr = self.sampling_rate
          n = len(self.index)
  
          self.index = self._build_entity_index(self.run_info, sampling_rate)
  
          x = np.arange(n)
          num = len(self.index)
  
          from scipy.interpolate import interp1d
          f = interp1d(x, self.values.values.ravel(), kind=kind)
          x_new = np.linspace(0, n - 1, num=num)
          self.values = pd.DataFrame(f(x_new))
          assert len(self.values) == len(self.index)
  
          self.sampling_rate = sampling_rate