docs: def _extrapolate_cols(self, data, first=True, last=True):
          """Extrapolate the column of data, to get the first and last together
          with the data.
  
          """
  
          if first:
              pos = self.col_indices[:2]
              first_column = _linear_extrapolate(pos,
                                                 (data[:, 0], data[:, 1]),
                                                 self.hcol_indices[0])
          if last:
              pos = self.col_indices[-2:]
              last_column = _linear_extrapolate(pos,
                                                (data[:, -2], data[:, -1]),
                                                self.hcol_indices[-1])
  
          if first and last:
              return np.hstack((np.expand_dims(first_column, 1),
                                data,
                                np.expand_dims(last_column, 1)))
          elif first:
              return np.hstack((np.expand_dims(first_column, 1),
                                data))
          elif last:
              return np.hstack((data,
                                np.expand_dims(last_column, 1)))
          else:
              return data