Сквозная сортировка индексов 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] }) |
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
Дополнительно:
Ну с формулировкой вопроса ты подкачал, это переформатирование фрейма с элементами сортировки подсета данного фрейма. Вообще когда решаешь такую задачу, то индексы фрейма (колонки и индекс) будут тебе мешать, надо переводить подсет данных в numpy массив и там сортировать.
Так или иначе, задачка простая, и решается в одну строчку кода, многими способами , например вот так
df.loc[:,['A','B','C']] = np.sort(df[['A','B','C']].values,axis=1) |
df.loc[:,['A','B','C']] = np.sort(df[['A','B','C']].values,axis=1)
Это изменит твой фрейм как ты хочешь, или определенными вариациями данного кода.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для выполнения сквозной сортировки индексов в DataFrame в pandas вам нужно использовать метод `sort_values()`. Этот метод позволяет сортировать значения в DataFrame по заданным столбцам или индексам.
Например, если у вас есть DataFrame `df` с индексами, и вы хотите выполнить сквозную сортировку по этим индексам, вы можете использовать следующий код на языке Python:
import pandas as pd # Создание DataFrame data = {'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]} df = pd.DataFrame(data) # Установка индексов df.set_index(['A'], inplace=True) # Сортировка индексов df.sort_values(by='A', inplace=True)
В этом примере мы сначала устанавливаем столбец 'A' в качестве индекса для DataFrame `df`, а затем выполняем сквозную сортировку по этим индексам.
Если вам нужно отсортировать индексы в порядке убывания, вы можете передать параметр `ascending=False` в метод `sort_values()`:
df.sort_values(by='A', ascending=False, inplace=True)
Таким образом, вы можете легко выполнить сквозную сортировку индексов в DataFrame с помощью метода `sort_values()` в библиотеке pandas.