docs: def to_dataframe(self, start_row=0, max_rows=None):
      """ Exports the table to a Pandas dataframe.
  
      Args:
        start_row: the row of the table at which to start the export (default 0)
        max_rows: an upper limit on the number of rows to export (default None)
      Returns:
        A Pandas dataframe containing the table data.
      """
      fetcher = self._get_row_fetcher(start_row=start_row, max_rows=max_rows)
      count = 0
      page_token = None
      df = None
      while True:
        page_rows, page_token = fetcher(page_token, count)
        if len(page_rows):
          count += len(page_rows)
          if df is None:
            df = pandas.DataFrame.from_records(page_rows)
          else:
            df = df.append(page_rows, ignore_index=True)
        if not page_token:
          break
  
      # Need to reorder the dataframe to preserve column ordering
      ordered_fields = [field.name for field in self.schema]
      return df[ordered_fields] if df is not None else pandas.DataFrame()