When we use Concat function we have to pass two parameters one is value and another one is the axis. This axis parameter tells how you want to concat your data in column-wise or Row wise. By default, Concat takes Row wise means axis=0. So you have to pass axis=1 for column-wise operation.
X = pd.concat([x,sex,cp,fbs,restecg,slope,ca,thal,exang],axis=1)
Hope this will help.