I've managed to construct a matrix with this piece of code
c_bed = np.append(np.array([1, 2, 3]), np.nan).reshape(4, 1)
c_bath = np.array([1, 1, 2, 2], dtype=np.float).reshape(4, 1)
ds = np.append(c_bed, c_bath, axis=1)
which gives
array([[ 1., 1.],
[ 2., 1.],
[ 3., 2.],
[nan, 2.]])
the output is exactly what i want though, I am wondering is there a better way to construct this matrix?