Open as a FITS file, read in a binary table, and return it as a
        :class:`pandas.DataFrame`, converted with
        :func:`pkwit.numutil.fits_recarray_to_data_frame`. The *hdu* argument
        specifies which HDU to read, with its default 1 indicating the first
        FITS extension. The *drop_nonscalar_ok* argument specifies if
        non-scalar table values (which are inexpressible in
        :class:`pandas.DataFrame`s) should be silently ignored (``True``) or
        cause a :exc:`ValueError` to be raised (``False``). Other **kwargs**
        are passed to :func:`astropy.io.fits.open`, (see
        :meth:`Path.read_fits`) although the open mode is hardcoded to be
        ``"readonly"``.

def read_fits_bintable (self, hdu=1, drop_nonscalar_ok=True, **kwargs):
        """Open as a FITS file, read in a binary table, and return it as a
        :class:`pandas.DataFrame`, converted with
        :func:`pkwit.numutil.fits_recarray_to_data_frame`. The *hdu* argument
        specifies which HDU to read, with its default 1 indicating the first
        FITS extension. The *drop_nonscalar_ok* argument specifies if
        non-scalar table values (which are inexpressible in
        :class:`pandas.DataFrame`s) should be silently ignored (``True``) or
        cause a :exc:`ValueError` to be raised (``False``). Other **kwargs**
        are passed to :func:`astropy.io.fits.open`, (see
        :meth:`Path.read_fits`) although the open mode is hardcoded to be
        ``"readonly"``.

        """
        from astropy.io import fits
        from .numutil import fits_recarray_to_data_frame as frtdf

        with fits.open (text_type (self), mode='readonly', **kwargs) as hdulist:
            return frtdf (hdulist[hdu].data, drop_nonscalar_ok=drop_nonscalar_ok)