Database

v0 -- Developing

In [1]:
# imports
from importlib import reload
import numpy as np

import pandas as pd

from astropy import units
from astropy.table import Table

from frb import frb
from frb.galaxies import frbgalaxy


WARNING: UnitsWarning: 'km/s/Mpc' contains multiple slashes, which is discouraged by the FITS standard [astropy.units.format.generic]

FRBs

Construct the Table


In [2]:
frb_tbl, tbl_units = frb.build_table_of_frbs()
frb_tbl[0:6]


Out[2]:
FRB RA DEC DM DM_err fluence fluence_err RM RM_err lpol lpol_err z
0 FRB121102 82.994583 33.147917 558.10 NaN NaN NaN NaN NaN NaN NaN 0.192730
1 FRB180924 326.105250 -40.900028 361.40 0.06 16.0 1.0 14.0 1.0 80.0 10.0 0.321200
2 FRB181112 327.348458 -52.970925 589.27 0.03 NaN NaN 10.9 0.9 NaN NaN 0.475500
3 FRB190102 322.415417 -79.475639 362.00 1.00 NaN NaN NaN NaN NaN NaN 0.291168
4 FRB190523 207.065000 72.469722 760.80 0.60 280.0 NaN NaN NaN NaN NaN 0.660000
5 FRB190608 334.019750 -7.898222 339.80 1.00 NaN NaN NaN NaN NaN NaN 0.117780

In [3]:
tbl_units


Out[3]:
{'FRB': None,
 'RA': 'deg',
 'DEC': 'deg',
 'DM': 'pc / cm3',
 'DM_err': 'pc / cm3',
 'fluence': 'Jy ms',
 'fluence_err': 'Jy ms',
 'RM': 'rad / m2',
 'RM_err': 'rad / m2',
 'lpol': None,
 'lpol_err': None,
 'z': None}

Fussing a bit


In [4]:
DMs = frb_tbl['DM'].values * units.Unit(tbl_units['DM'])
DMs


Out[4]:
$[558.1,~361.4,~589.27,~362,~760.8,~339.8,~323,~959,~592.6,~504.13,~507.4,~298] \; \mathrm{\frac{pc}{cm^{3}}}$

In [5]:
DM_errs = frb_tbl['DM_err'].values * units.Unit(tbl_units['DM_err'])
DM_errs


Out[5]:
$[{\rm NaN},~0.06,~0.03,~1,~0.6,~1,~1,~1,~1,~0.1,~1,~{\rm NaN}] \; \mathrm{\frac{pc}{cm^{3}}}$

If you prefer astropy


In [6]:
astropy_frb_tbl = Table.from_pandas(frb_tbl)
astropy_frb_tbl[0:6]


Out[6]:
Table masked=True length=6
FRBRADECDMDM_errfluencefluence_errRMRM_errlpollpol_errz
str9float64float64float64float64float64float64float64float64float64float64float64
FRB12110282.9945833333333233.14791666666667558.1--------------0.19273
FRB180924326.10524999999996-40.90002777777778361.40.0616.01.014.01.080.010.00.3212
FRB181112327.34845833333327-52.970925589.270.03----10.90.9----0.4755
FRB190102322.4154166666666-79.4756388888889362.01.0------------0.29116841268957017
FRB190523207.06572.46972222222223760.80.6280.0----------0.66
FRB190608334.01975-7.898222222222222339.81.0------------0.1177805

Host Galaxies


In [7]:
reload(frbgalaxy)
host_tbl, host_units = frbgalaxy.build_table_of_hosts()


/data/Projects/FRB/frb/galaxies/frbgalaxy.py:96: UserWarning: File /data/Projects/FRB/frb/data/Galaxies/190611/FRB190611_host.json not found.  This galaxy probably does not exist yet.
  warnings.warn("File {} not found.  This galaxy probably does not exist yet.".format(json_file))
/data/Projects/FRB/frb/galaxies/frbgalaxy.py:96: UserWarning: File /data/Projects/FRB/frb/data/Galaxies/190613/FRB190613_host.json not found.  This galaxy probably does not exist yet.
  warnings.warn("File {} not found.  This galaxy probably does not exist yet.".format(json_file))
/data/Projects/FRB/frb/galaxies/frbgalaxy.py:96: UserWarning: File /data/Projects/FRB/frb/data/Galaxies/190711/FRB190711_host.json not found.  This galaxy probably does not exist yet.
  warnings.warn("File {} not found.  This galaxy probably does not exist yet.".format(json_file))
/data/Projects/FRB/frb/galaxies/frbgalaxy.py:96: UserWarning: File /data/Projects/FRB/frb/data/Galaxies/190714/FRB190714_host.json not found.  This galaxy probably does not exist yet.
  warnings.warn("File {} not found.  This galaxy probably does not exist yet.".format(json_file))
/data/Projects/FRB/frb/galaxies/frbgalaxy.py:96: UserWarning: File /data/Projects/FRB/frb/data/Galaxies/191001/FRB191001_host.json not found.  This galaxy probably does not exist yet.
  warnings.warn("File {} not found.  This galaxy probably does not exist yet.".format(json_file))
/data/Projects/FRB/frb/galaxies/frbgalaxy.py:96: UserWarning: File /data/Projects/FRB/frb/data/Galaxies/191228/FRB191228_host.json not found.  This galaxy probably does not exist yet.
  warnings.warn("File {} not found.  This galaxy probably does not exist yet.".format(json_file))

In [8]:
host_tbl


Out[8]:
Host FRB RA_host DEC_host AV_nebular EBV_photom EBV_photom_err EBV_spec Lnu_r Lnu_r_err ... Hgamma Hgamma_err [NII] 6584 [NII] 6584_err [OIII] 5007 [OIII] 5007_err [OII] 3726 [OII] 3726_err [OII] 3729 [OII] 3729_err
0 HG121102 FRB121102 82.994508 33.147998 NaN NaN NaN NaN NaN NaN ... NaN NaN 1.192102e-17 -9.990000e+02 4.380421e-16 8.379936e-18 NaN NaN NaN NaN
1 HG180924 FRB180924 326.105208 -40.900225 1.004550 0.266960 0.114097 0.172170 8.832474e+21 4.416237e+20 ... 3.529572e-17 1.893642e-18 1.943620e-16 2.883754e-18 7.872197e-17 1.866043e-18 3.977910e-17 2.348287e-18 6.947412e-17 2.507810e-18
2 HG181112 FRB181112 327.348583 -52.970911 0.000000 0.153821 0.082104 0.672897 5.950847e+21 3.894508e+20 ... 7.177895e-18 2.126869e-18 4.894002e-17 1.035911e-17 5.406020e-17 3.254570e-18 NaN NaN NaN NaN
3 HG190102 FRB190102 322.415000 -79.475667 0.187813 0.108744 0.046785 0.609479 3.997132e+21 2.614345e+20 ... 1.073066e-16 2.017538e-17 1.686390e-16 1.874776e-17 3.795487e-16 2.659512e-17 3.201428e-16 2.805009e-17 4.209402e-16 2.971752e-17
4 HG190523 FRB190523 207.064330 72.470756 NaN 0.300376 0.152085 NaN 2.894003e+22 3.167510e+21 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
5 HG190608 FRB190608 334.020417 -7.898889 0.516854 0.240555 0.110998 0.000000 1.256892e+22 6.284460e+20 ... 3.924686e-16 3.359845e-17 1.831878e-15 3.824482e-17 1.495146e-15 4.441160e-17 1.214940e-15 7.397708e-17 1.942295e-15 7.851035e-17

6 rows × 91 columns


In [9]:
host_tbl.keys()


Out[9]:
Index(['Host', 'FRB', 'RA_host', 'DEC_host', 'AV_nebular', 'EBV_photom',
       'EBV_photom_err', 'EBV_spec', 'Lnu_r', 'Lnu_r_err', 'M_r', 'M_r_err',
       'Mstar', 'Mstar_err', 'Mstar_spec', 'SFR_nebular', 'SFR_nebular_err',
       'SFR_photom', 'SFR_photom_err', 'Z_photom', 'Z_photom_err', 'Z_spec',
       'Z_spec_err', 'f_AGN', 'f_AGN_err', 'u-r', 'u-r_err', 'DES_Y',
       'DES_Y_err', 'DES_g', 'DES_g_err', 'DES_i', 'DES_i_err', 'DES_r',
       'DES_r_err', 'DES_z', 'DES_z_err', 'GMOS_i', 'GMOS_i_err', 'GMOS_r',
       'GMOS_r_err', 'Pan-STARRS_g', 'Pan-STARRS_g_err', 'Pan-STARRS_i',
       'Pan-STARRS_i_err', 'Pan-STARRS_r', 'Pan-STARRS_r_err', 'Pan-STARRS_y',
       'Pan-STARRS_y_err', 'Pan-STARRS_z', 'Pan-STARRS_z_err', 'SDSS_g',
       'SDSS_g_err', 'SDSS_i', 'SDSS_i_err', 'SDSS_r', 'SDSS_r_err', 'SDSS_u',
       'SDSS_u_err', 'SDSS_z', 'SDSS_z_err', 'VLT_I', 'VLT_I_err', 'VLT_g',
       'VLT_g_err', 'VLT_u', 'VLT_u_err', 'VLT_z', 'VLT_z_err', 'WISE_W1',
       'WISE_W1_err', 'WISE_W2', 'WISE_W2_err', 'WISE_W3', 'WISE_W3_err',
       'WISE_W4', 'WISE_W4_err', 'Halpha', 'Halpha_err', 'Hbeta', 'Hbeta_err',
       'Hgamma', 'Hgamma_err', '[NII] 6584', '[NII] 6584_err', '[OIII] 5007',
       '[OIII] 5007_err', '[OII] 3726', '[OII] 3726_err', '[OII] 3729',
       '[OII] 3729_err'],
      dtype='object')

Playing around

Photometry


In [10]:
host_tbl[['Host', 'DES_r','Pan-STARRS_r', 'VLT_I', 'GMOS_r']]


Out[10]:
Host DES_r Pan-STARRS_r VLT_I GMOS_r
0 HG121102 NaN NaN NaN 25.1
1 HG180924 20.5415 NaN 20.10 NaN
2 HG181112 21.7260 NaN 21.51 NaN
3 HG190102 NaN NaN NaN NaN
4 HG190523 NaN -999.0 NaN NaN
5 HG190608 NaN NaN NaN NaN

Derived


In [11]:
host_tbl[['Host', 'SFR_nebular', 'Mstar']]


Out[11]:
Host SFR_nebular Mstar
0 HG121102 0.230000 5.500000e+07
1 HG180924 1.689331 2.245458e+10
2 HG181112 0.573378 2.609194e+09
3 HG190102 1.474266 3.178839e+09
4 HG190523 1.300000 1.255938e+11
5 HG190608 1.237443 2.523583e+10

In [12]:
host_units['Mstar']


Out[12]:
'See galaxies.defs.py'

Join


In [13]:
joined_tbl = pd.merge(frb_tbl, host_tbl, on='FRB', how='outer')

In [14]:
joined_tbl[0:6]


Out[14]:
FRB RA DEC DM DM_err fluence fluence_err RM RM_err lpol ... Hgamma Hgamma_err [NII] 6584 [NII] 6584_err [OIII] 5007 [OIII] 5007_err [OII] 3726 [OII] 3726_err [OII] 3729 [OII] 3729_err
0 FRB121102 82.994583 33.147917 558.10 NaN NaN NaN NaN NaN NaN ... NaN NaN 1.192102e-17 -9.990000e+02 4.380421e-16 8.379936e-18 NaN NaN NaN NaN
1 FRB180924 326.105250 -40.900028 361.40 0.06 16.0 1.0 14.0 1.0 80.0 ... 3.529572e-17 1.893642e-18 1.943620e-16 2.883754e-18 7.872197e-17 1.866043e-18 3.977910e-17 2.348287e-18 6.947412e-17 2.507810e-18
2 FRB181112 327.348458 -52.970925 589.27 0.03 NaN NaN 10.9 0.9 NaN ... 7.177895e-18 2.126869e-18 4.894002e-17 1.035911e-17 5.406020e-17 3.254570e-18 NaN NaN NaN NaN
3 FRB190102 322.415417 -79.475639 362.00 1.00 NaN NaN NaN NaN NaN ... 1.073066e-16 2.017538e-17 1.686390e-16 1.874776e-17 3.795487e-16 2.659512e-17 3.201428e-16 2.805009e-17 4.209402e-16 2.971752e-17
4 FRB190523 207.065000 72.469722 760.80 0.60 280.0 NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
5 FRB190608 334.019750 -7.898222 339.80 1.00 NaN NaN NaN NaN NaN ... 3.924686e-16 3.359845e-17 1.831878e-15 3.824482e-17 1.495146e-15 4.441160e-17 1.214940e-15 7.397708e-17 1.942295e-15 7.851035e-17

6 rows × 102 columns


In [15]:
joined_tbl['Host']


Out[15]:
0     HG121102
1     HG180924
2     HG181112
3     HG190102
4     HG190523
5     HG190608
6          NaN
7          NaN
8          NaN
9          NaN
10         NaN
11         NaN
Name: Host, dtype: object

Testing


In [ ]: