Making Table 1 for the paper

Table 1 contains the radial velocity measurements shifted to the reference frame of the binary system velocity. Therefore I need a bit of code to make the table.


In [17]:
import numpy as np
import pandas as pd
import MassRatio_Fitter
import matplotlib.pyplot as plt

%matplotlib inline

In [18]:
# Read in the data and format the time column to 2 decimal places
t, rv1, rv1_err, rv2, rv2_err = np.loadtxt('data/rv_data.txt')
rv_df = pd.DataFrame(data=dict(t=t, rv1=rv1, rv1_err=rv1_err, rv2=rv2, rv2_err=rv2_err,
                               rv1_raw=rv1, rv1_err_raw=rv1_err, rv2_raw=rv2, rv2_err_raw=rv2_err))
rv_df = rv_df.convert_objects()

rv_df['JD'] = rv_df['t'].map(lambda t: '{:.2f}'.format(t))
rv_df.head()


Out[18]:
rv1 rv1_err rv1_err_raw rv1_raw rv2 rv2_err rv2_err_raw rv2_raw t JD
0 1.92651 0.01275 0.01275 1.92651 NaN NaN NaN NaN 2451809.659569 2451809.66
1 1.92852 0.01427 0.01427 1.92852 NaN NaN NaN NaN 2451809.673975 2451809.67
2 1.84140 0.01186 0.01186 1.84140 NaN NaN NaN NaN 2452142.680492 2452142.68
3 2.43256 0.01140 0.01140 2.43256 NaN NaN NaN NaN 2453319.639237 2453319.64
4 2.55912 0.00992 0.00992 2.55912 NaN NaN NaN NaN 2453585.853915 2453585.85

In [19]:
# Subtract the primary velocity from the secondary velocities to get it in an inertial frame
samples = np.load('data/SB2_samples.npy')
K1, K2, P, T0, w, e, dv1, dv2, lnf, noise = np.median(samples, axis=0)
rv1_pred = MassRatio_Fitter.get_rv(T0=T0, P=P, e=e, K1=K1, w=w, t=rv_df['t'].values)
rv_df['rv2'] += rv1_pred

In [20]:
# Apply the additive and multiplicative constants that we fit
rv_df['rv1'] -= dv1
rv_df['rv2'] -= dv2
rv_df['rv2_err'] *= np.exp(lnf/2.0)
rv_df.head()


Out[20]:
rv1 rv1_err rv1_err_raw rv1_raw rv2 rv2_err rv2_err_raw rv2_raw t JD
0 -2.174239 0.01275 0.01275 1.92651 NaN NaN NaN NaN 2451809.659569 2451809.66
1 -2.172229 0.01427 0.01427 1.92852 NaN NaN NaN NaN 2451809.673975 2451809.67
2 -2.259349 0.01186 0.01186 1.84140 NaN NaN NaN NaN 2452142.680492 2452142.68
3 -1.668189 0.01140 0.01140 2.43256 NaN NaN NaN NaN 2453319.639237 2453319.64
4 -1.541629 0.00992 0.00992 2.55912 NaN NaN NaN NaN 2453585.853915 2453585.85

In [21]:
# Check to make sure it looks right
plt.errorbar(rv_df['t'], rv_df['rv1'], yerr=rv_df['rv1_err'], fmt='k^')
plt.errorbar(rv_df['t'], rv_df['rv2'], yerr=rv_df['rv2_err'], fmt='ro')


Out[21]:
<Container object of 3 artists>

In [22]:
# Cut the measurements down to 3 sig figs
rv_df['rv1'] = rv_df['rv1'].map(lambda v: '{:.3f}'.format(float(v)))
rv_df['rv1_err'] = rv_df['rv1_err'].map(lambda v: '{:.3f}'.format(float(v)))
rv_df['rv2'] = rv_df['rv2'].map(lambda v: '{:.2f}'.format(float(v)) if pd.notnull(v) else v)
rv_df['rv2_err'] = rv_df['rv2_err'].map(lambda v: '{:.2f}'.format(float(v)) if pd.notnull(v) else v)

rv_df['rv1_raw'] = rv_df['rv1_raw'].map(lambda v: '{:.3f}'.format(float(v)))
rv_df['rv1_err_raw'] = rv_df['rv1_err_raw'].map(lambda v: '{:.3f}'.format(float(v)))
rv_df['rv2_raw'] = rv_df['rv2_raw'].map(lambda v: '{:.2f}'.format(float(v)) if pd.notnull(v) else v)
rv_df['rv2_err_raw'] = rv_df['rv2_err_raw'].map(lambda v: '{:.2f}'.format(float(v)) if pd.notnull(v) else v)

In [23]:
# Print out the table. Copy-paste into latex.
print rv_df[['JD', 'rv1_raw', 'rv1', 'rv1_err', 'rv2_raw', 'rv2', 'rv2_err']].to_latex(header=True, index=False, na_rep='\\nodata', escape=False)


\begin{tabular}{lllllll}
\toprule
         JD & rv1_raw &     rv1 & rv1_err &  rv2_raw &      rv2 &  rv2_err \\
\midrule
 2451809.66 &   1.927 &  -2.174 &   0.013 &  \nodata &  \nodata &  \nodata \\
 2451809.67 &   1.929 &  -2.172 &   0.014 &  \nodata &  \nodata &  \nodata \\
 2452142.68 &   1.841 &  -2.259 &   0.012 &  \nodata &  \nodata &  \nodata \\
 2453319.64 &   2.433 &  -1.668 &   0.011 &  \nodata &  \nodata &  \nodata \\
 2453585.85 &   2.559 &  -1.542 &   0.010 &  \nodata &  \nodata &  \nodata \\
 2453585.88 &   2.550 &  -1.551 &   0.011 &  \nodata &  \nodata &  \nodata \\
 2453634.64 &   2.654 &  -1.446 &   0.011 &  \nodata &  \nodata &  \nodata \\
 2453635.62 &   2.554 &  -1.547 &   0.009 &  \nodata &  \nodata &  \nodata \\
 2453655.64 &   2.711 &  -1.390 &   0.009 &  \nodata &  \nodata &  \nodata \\
 2453655.64 &   2.780 &  -1.321 &   0.027 &  \nodata &  \nodata &  \nodata \\
 2453689.54 &   2.665 &  -1.436 &   0.008 &  \nodata &  \nodata &  \nodata \\
 2453907.85 &   2.960 &  -1.141 &   0.011 &  \nodata &  \nodata &  \nodata \\
 2453928.80 &   2.858 &  -1.243 &   0.012 &  \nodata &  \nodata &  \nodata \\
 2454019.60 &   2.930 &  -1.171 &   0.012 &  \nodata &  \nodata &  \nodata \\
 2454279.75 &   3.068 &  -1.033 &   0.011 &  \nodata &  \nodata &  \nodata \\
 2454279.76 &   3.056 &  -1.044 &   0.010 &  \nodata &  \nodata &  \nodata \\
 2454309.79 &   3.021 &  -1.080 &   0.013 &  \nodata &  \nodata &  \nodata \\
 2454345.63 &   3.270 &  -0.830 &   0.010 &  \nodata &  \nodata &  \nodata \\
 2454401.56 &   3.155 &  -0.945 &   0.009 &  \nodata &  \nodata &  \nodata \\
 2454662.93 &   3.349 &  -0.752 &   0.015 &    -4.34 &     0.36 &     0.37 \\
 2454665.77 &   3.486 &  -0.615 &   0.014 &    -3.95 &     0.75 &     0.35 \\
 2454665.77 &   3.492 &  -0.609 &   0.015 &    -4.06 &     0.64 &     0.36 \\
 2454730.71 &   3.457 &  -0.644 &   0.014 &    -4.09 &     0.68 &     0.36 \\
 2454750.64 &   3.439 &  -0.662 &   0.019 &  \nodata &  \nodata &  \nodata \\
 2454750.64 &   3.424 &  -0.676 &   0.018 &  \nodata &  \nodata &  \nodata \\
 2454750.65 &   3.425 &  -0.675 &   0.017 &  \nodata &  \nodata &  \nodata \\
 2454750.65 &   3.406 &  -0.694 &   0.015 &  \nodata &  \nodata &  \nodata \\
 2454750.66 &   3.436 &  -0.665 &   0.019 &  \nodata &  \nodata &  \nodata \\
 2454750.66 &   3.425 &  -0.676 &   0.023 &  \nodata &  \nodata &  \nodata \\
 2454750.67 &   3.412 &  -0.689 &   0.020 &  \nodata &  \nodata &  \nodata \\
 2454750.68 &   3.423 &  -0.677 &   0.019 &  \nodata &  \nodata &  \nodata \\
 2454750.68 &   3.419 &  -0.681 &   0.019 &  \nodata &  \nodata &  \nodata \\
 2455100.57 &   3.875 &  -0.226 &   0.016 &    -5.14 &     0.04 &     0.44 \\
 2455100.58 &   3.891 &  -0.210 &   0.014 &    -5.02 &     0.16 &     0.44 \\
 2455398.75 &   4.209 &   0.108 &   0.015 &    -6.49 &    -0.89 &     0.51 \\
 2455790.72 &   4.977 &   0.876 &   0.021 &    -8.65 &    -2.34 &     0.67 \\
 2455869.58 &   5.211 &   1.111 &   0.017 &    -8.14 &    -1.66 &     0.60 \\
 2455910.57 &   5.321 &   1.221 &   0.018 &    -8.40 &    -1.82 &     0.63 \\
 2455992.02 &   5.538 &   1.437 &   0.012 &    -9.01 &    -2.22 &     0.65 \\
 2456016.93 &   5.659 &   1.558 &   0.014 &    -9.23 &    -2.37 &     0.62 \\
 2456106.78 &   5.784 &   1.683 &   0.015 &   -10.36 &    -3.24 &     0.67 \\
 2456138.84 &   5.944 &   1.844 &   0.020 &   -10.73 &    -3.51 &     0.73 \\
 2456145.65 &   5.947 &   1.846 &   0.025 &   -11.38 &    -4.14 &     0.80 \\
 2456145.66 &   5.929 &   1.828 &   0.018 &   -11.43 &    -4.19 &     0.79 \\
 2456145.66 &   5.965 &   1.864 &   0.018 &   -11.15 &    -3.91 &     0.79 \\
 2456173.73 &   5.955 &   1.854 &   0.018 &   -10.82 &    -3.48 &     0.75 \\
 2456401.97 &   6.964 &   2.864 &   0.014 &   -14.11 &    -5.87 &     0.69 \\
 2456401.97 &   6.941 &   2.841 &   0.012 &   -14.39 &    -6.15 &     0.68 \\
 2456433.74 &   7.238 &   3.138 &   0.013 &   -14.54 &    -6.14 &     0.62 \\
 2456433.74 &   7.209 &   3.108 &   0.012 &   -14.61 &    -6.21 &     0.65 \\
 2456435.87 &   7.208 &   3.108 &   0.015 &   -14.73 &    -6.33 &     0.64 \\
 2456435.87 &   7.205 &   3.104 &   0.015 &   -15.08 &    -6.68 &     0.64 \\
 2456461.87 &   7.358 &   3.257 &   0.012 &   -14.96 &    -6.42 &     0.63 \\
 2456461.88 &   7.351 &   3.250 &   0.015 &   -14.65 &    -6.11 &     0.65 \\
 2456461.88 &   7.326 &   3.225 &   0.016 &   -14.60 &    -6.06 &     0.61 \\
 2456465.80 &   7.297 &   3.196 &   0.014 &   -14.74 &    -6.18 &     0.53 \\
 2456497.86 &   7.574 &   3.473 &   0.019 &   -15.86 &    -7.13 &     0.73 \\
 2456519.62 &   7.765 &   3.664 &   0.015 &   -16.78 &    -7.93 &     0.59 \\
 2456525.66 &   7.725 &   3.624 &   0.017 &   -16.27 &    -7.38 &     0.64 \\
 2456560.58 &   7.812 &   3.711 &   0.013 &   -16.32 &    -7.22 &     0.90 \\
 2456564.59 &   7.781 &   3.680 &   0.015 &   -16.18 &    -7.05 &     0.86 \\
 2456613.55 &   8.089 &   3.988 &   0.016 &   -15.96 &    -6.51 &     0.91 \\
 2456614.58 &   8.139 &   4.038 &   0.012 &   -16.52 &    -7.06 &     0.85 \\
 2456755.98 &   9.308 &   5.208 &   0.014 &   -21.44 &   -10.84 &     0.74 \\
 2456759.97 &   9.366 &   5.265 &   0.015 &   -21.91 &   -11.28 &     0.76 \\
 2456784.84 &   9.603 &   5.502 &   0.017 &   -22.56 &   -11.69 &     0.81 \\
 2456816.67 &   9.895 &   5.794 &   0.014 &   -23.36 &   -12.17 &     0.74 \\
 2456816.67 &   9.907 &   5.806 &   0.015 &   -23.68 &   -12.49 &     0.72 \\
 2456860.73 &  10.402 &   6.301 &   0.016 &   -25.64 &   -13.97 &     0.88 \\
 2456860.73 &  10.421 &   6.321 &   0.015 &   -25.77 &   -14.11 &     0.83 \\
 2456885.62 &  10.607 &   6.507 &   0.015 &   -27.23 &   -15.29 &     0.84 \\
 2456938.63 &  11.189 &   7.089 &   0.016 &   -29.30 &   -16.77 &     1.03 \\
 2456938.64 &  11.173 &   7.072 &   0.015 &   -28.99 &   -16.45 &     0.96 \\
 2457092.02 &  12.114 &   8.013 &   0.015 &   -31.57 &   -18.09 &     1.00 \\
 2457109.85 &  12.077 &   7.976 &   0.015 &   -32.79 &   -19.40 &     1.10 \\
 2457118.96 &  11.987 &   7.886 &   0.016 &   -31.14 &   -17.82 &     0.90 \\
 2457150.92 &  11.685 &   7.584 &   0.017 &  \nodata &  \nodata &  \nodata \\
 2457174.96 &  11.267 &   7.167 &   0.017 &   -28.58 &   -16.13 &     0.81 \\
 2457214.83 &  10.240 &   6.139 &   0.017 &   -24.68 &   -13.16 &     0.82 \\
 2457214.84 &  10.253 &   6.152 &   0.016 &   -25.36 &   -13.85 &     0.90 \\
 2457216.73 &  10.220 &   6.119 &   0.016 &   -25.13 &   -13.66 &     0.86 \\
 2457216.73 &  10.228 &   6.128 &   0.015 &   -25.15 &   -13.69 &     0.80 \\
 2457245.60 &   9.302 &   5.201 &   0.016 &   -22.21 &   -11.52 &     0.77 \\
 2457245.61 &   9.299 &   5.199 &   0.016 &   -21.85 &   -11.16 &     0.72 \\
 2457248.61 &   9.338 &   5.237 &   0.017 &   -21.66 &   -11.05 &     0.70 \\
\bottomrule
\end{tabular}


In [ ]: