If you can load your data into separate pandas dataframes, this becomes simple.
df
x y1
0 0 0
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
df2
x y2
0 0.5 0.5
1 1.5 1.5
2 2.5 2.5
3 3.5 3.5
4 4.5 4.5
5 5.5 5.5
Perform an outer merge, and sort on the x column.
df = df.merge(df2, how='outer').sort_values('x')
df
x y1 y2
0 0 0 NaN
6 0.5 NaN 0.5
1 1 1 NaN
7 1.5 NaN 1.5
2 2 2 NaN
8 2.5 NaN 2.5
3 3 3 NaN
9 3.5 NaN 3.5
4 4 4 NaN
10 4.5 NaN 4.5
5 5 5 NaN
11 5.5 NaN 5.5
If you want an array, call .values on the result:
df.values
array([[0.0, 0.0, nan],
[0.5, nan, 0.5],
[1.0, 1.0, nan],
[1.5, nan, 1.5],
[2.0, 2.0, nan],
[2.5, nan, 2.5],
[3.0, 3.0, nan],
[3.5, nan, 3.5],
[4.0, 4.0, nan],
[4.5, nan, 4.5],
[5.0, 5.0, nan],
[5.5, nan, 5.5]], dtype=object)