code: def page_data_frame (df, pager_argv=['less'], **kwargs):
      
      import codecs, subprocess, sys
  
      pager = subprocess.Popen (pager_argv, shell=False,
                                stdin=subprocess.PIPE,
                                close_fds=True)
  
      try:
          enc = codecs.getwriter (sys.stdout.encoding or 'utf8') (pager.stdin)
          df.to_string (enc, **kwargs)
      finally:
          enc.close ()
          pager.stdin.close ()
          pager.wait ()
docs: Render a DataFrame as text and send it to a terminal pager program (e.g.
      `less`), so that one can browse a full table conveniently.
  
      df
        The DataFrame to view
      pager_argv: default ``['less']``
        A list of strings passed to :class:`subprocess.Popen` that launches
        the pager program
      kwargs
        Additional keywords are passed to :meth:`pandas.DataFrame.to_string`.
  
      Returns ``None``. Execution blocks until the pager subprocess exits.