a.join(b.reindex(a.index, method='nearest'), how='left')
a.join(b.reindex(a.index, method='nearest'), how='left').rename(columns={
    'a': 'a_right'})
a.join(b.reindex(a.index, method='nearest'), how='left').rename(columns={
    'a': 'a_right'}).reset_index()
left join in pandas with approximately equal numeric comparison