Ну с формулировкой вопроса ты подкачал, это переформатирование фрейма с элементами сортировки подсета данного фрейма. Вообще когда решаешь такую задачу, то индексы фрейма (колонки и индекс) будут тебе мешать, надо переводить подсет данных в numpy массив и там сортировать.
Так или иначе, задачка простая, и решается в одну строчку кода, многими способами , например вот так
df.loc[:,['A','B','C']] = np.sort(df[['A','B','C']].values,axis=1)
Это изменит твой фрейм как ты хочешь, или определенными вариациями данного кода.