def convert_site_dm3_table_intensity(sites_df):
    """
    Convert MagIC site headers to short/readable
    headers for a figure (used by ipmag.sites_extract)
    Intensity data only.

    Parameters
    ----------
    sites_df : pandas DataFrame
        sites information

    Returns
    ---------
    int_df : pandas DataFrame
        intensity site data with easily readable headers
    """
    has_vadms, has_vdms = False, False
    if 'int_abs' not in sites_df:
        sites_df['int_abs'] = None
    if 'int_n_samples' not in sites_df:
        sites_df['int_n_samples'] = None
    int_df = sites_df.copy().dropna(subset=['int_abs'])
    int_df['int_n_samples'] = int_df['int_n_samples'].values.astype('int')
    if len(int_df) > 0:
        int_df['int_abs_uT'] = 1000000.0 * int_df.int_abs.values
        int_df['int_abs_sigma_uT'] = 1000000.0 * int_df.int_abs_sigma.values
        int_df['int_abs_uT'] = int_df['int_abs_uT'].values.astype('int')
        int_df['int_abs_sigma_uT'] = int_df['int_abs_sigma_uT'].values.astype(
            'int')
        int_df['int_abs_sigma_perc'] = int_df['int_abs_sigma_perc'
            ].values.astype('int')
        IntCols = ['Site', 'N', 'B', 'B sigma', 'sigma (%)']
        if 'vadm' in int_df.columns:
            test_vadm = int_df.dropna(subset=['vadm'])
            if len(test_vadm) > 0:
                has_vadms = True
        if 'vdm' in int_df.columns:
            test_vdm = int_df.dropna(subset=['vdm'])
            if len(test_vdm) > 0:
                has_vdms = True
        if has_vadms:
            IntCols.append('VADM')
            IntCols.append('VADM sigma')
        if has_vdms:
            IntCols.append('VDM')
            IntCols.append('VDM sigma')
        if not has_vadms and not has_vdms:
            int_df = int_df[['site', 'int_n_samples', 'int_abs_uT',
                'int_abs_sigma_uT', 'int_abs_sigma_perc']]
        if has_vadms and not has_vdms:
            int_df.sort_values(by=['site', 'vadm'], ascending=False,
                inplace=True)
            int_df.drop_duplicates(subset=['int_abs_uT', 'site'], inplace=True)
            int_df['vadm_ZAm2'] = 1e-21 * int_df.vadm.values
            int_df['vadm_sigma_ZAm2'] = 1e-21 * int_df.vadm_sigma.values
            int_df = int_df[['site', 'int_n_samples', 'int_abs_uT',
                'int_abs_sigma_uT', 'int_abs_sigma_perc', 'vadm_ZAm2',
                'vadm_ZAm2_sigma']]
        if not has_vadms and has_vdms:
            int_df.sort_values(by=['site', 'vdm'], ascending=False, inplace
                =True)
            int_df.drop_duplicates(subset=['int_abs_uT', 'site'], inplace=True)
            int_df['vdm_ZAm2'] = 1e-21 * int_df.vdm.values()
            int_df['vdm_sigma_ZAm2'] = 1e-21 * int_df.vdm_sigma.values()
            int_df = int_df[['site', 'int_n_samples', 'int_abs_uT',
                'int_abs_sigma_uT', 'int_abs_sigma_perc', 'vdm_ZAm2',
                'vdm_ZAm2_sigma']]
        if has_vadms and has_vdms:
            int_df.sort_values(by=['site', 'vadm'], ascending=False,
                inplace=True)
            int_df.drop_duplicates(subset=['int_abs_uT', 'site'], inplace=True)
            int_df['vadm_ZAm2'] = 1e-21 * int_df.vadm.values
            int_df['vadm_sigma_ZAm2'] = 1e-21 * int_df.vadm_sigma.values
            int_df['vdm_ZAm2'] = 1e-21 * int_df.vdm.values
            int_df['vdm_sigma_ZAm2'] = 1e-21 * int_df.vdm_sigma.values
            int_df = int_df[['site', 'int_n_samples', 'int_abs_uT',
                'int_abs_sigma_uT', 'int_abs_sigma_perc', 'vadm_ZAm2',
                'vadm_sigma_ZAm2', 'vdm_ZAm2', 'vdm_sigma_ZAm2']]
        int_df.columns = IntCols
        int_df.sort_values(by=['Site'], inplace=True, ascending=True)
        int_df.fillna(value='', inplace=True)
    return int_df
