df = pandas.read_table(datatable, sep='\\s+').set_index(['m', 'r', 's', 'p']
    ).unstack(level='p')
df.columns = df.columns.swaplevel(0, 1)
df.sort(axis=1, inplace=True)
print(df)
транспонировать несколько столбцов Pandas dataframe