docs: def _extrapolate_rows(self, data, row_indices, first_index, last_index):
          """Extrapolate the rows of data, to get the first and last together
          with the data.
          """
  
          pos = row_indices[:2]
          first_row = _linear_extrapolate(pos,
                                          (data[0, :], data[1, :]),
                                          first_index)
          pos = row_indices[-2:]
          last_row = _linear_extrapolate(pos,
                                         (data[-2, :], data[-1, :]),
                                         last_index)
          return np.vstack((np.expand_dims(first_row, 0),
                            data,
                            np.expand_dims(last_row, 0)))