a1 = np.array([('2:6506', 4.67259718014735e-25, 0.999999999950887), (
    '2:6601', 2.24527453887999e-27, 0.999999999952706), ('2:21801', 
    1.98496509218366e-31, 0.99999999997999)], dtype=[('pos', '|S100'), (
    'col1', '<f8'), ('col2', '<f8')])
a2 = np.array([('3:6506', 4.67259718014735e-25, 0.999999999950887), (
    '3:6601', 2.24527453887999e-27, 0.999999999952706), ('3:21801', 
    1.98496509218366e-31, 0.99999999997999)], dtype=[('pos', '|S100'), (
    'col1', '<f8'), ('col2', '<f8')])
a3 = np.array([('2:6506', 4.67259718014735e-25, 0.999999999950887), (
    '2:6601', 2.24527453887999e-27, 0.999999999952706), ('2:21801', 
    1.98496509218366e-31, 0.99999999997999)], dtype=[('pos', '|S100'), (
    'col3', '<f8'), ('col4', '<f8')])
result = a1
numpy - how to outer join arrays