Задать вопрос
@pashqa_2024

Сквозная сортировка индексов DataFrame?

Добрый день! Хочу отсортировать поля в трех столбцах таблицы, подскажите верный способ.
df = pd.DataFrame({
 'num': [25, 12, 15, 14],
 'name': ['txt', 'pdf', 'html', 'csv'],
 'A': [11, 8, 10, 6],
 'B': [4, 9, 9, 2],
 'C': [22, 32, 11, 44]
})


Из этого:

num name A B C
0 25 txt 11 4 22
1 12 pdf 8 9 32
2 15 html 10 9 11
3 14 csv 6 2 44

Нужно получить такой фрейм, т.е отсортировать насквозь только по трем колонкам(A,B,C), по возрастанию:

num name A B C
0 25 txt 4 11 22
1 12 pdf 8 9 32
2 15 html 9 10 11
3 14 csv 2 6 44
  • Вопрос задан
  • 57 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Maksim_64
@Maksim_64
Data Analyst
Ну с формулировкой вопроса ты подкачал, это переформатирование фрейма с элементами сортировки подсета данного фрейма. Вообще когда решаешь такую задачу, то индексы фрейма (колонки и индекс) будут тебе мешать, надо переводить подсет данных в numpy массив и там сортировать.

Так или иначе, задачка простая, и решается в одну строчку кода, многими способами , например вот так
df.loc[:,['A','B','C']] = np.sort(df[['A','B','C']].values,axis=1)

Это изменит твой фрейм как ты хочешь, или определенными вариациями данного кода.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы