docs: 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
      """
      # now for the intensities
      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'] = 1e6*int_df.int_abs.values  # convert to uT
          int_df['int_abs_sigma_uT'] = 1e6 * \
              int_df.int_abs_sigma.values  # convert to uT
          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