How to order the data with respect to data type
Let your data frame be df. First get the numeric columns:

num_col = df.select_dtypes('number').columns


Then get the remaining columns.

non_num_col = set(df.columns) - set(df.select_dtypes('number').columns)


Merge as required.

df = pd.concat([df[num_col], df[list(non_num_col)]], axis=1)


The columns are now in the desired sequence.