Как сортировать по нескольким столбцам в Pandas (с примерами)


Вы можете использовать следующий базовый синтаксис для сортировки кадра данных pandas по нескольким столбцам:

df = df.sort_values(['column1', 'column2'], ascending=( False , True ))

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: сортировка по нескольким столбцам в Pandas

Предположим, у нас есть следующие Pandas DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [14, 20, 9, 20, 25, 29, 20, 25],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

 points assists rebounds
0 14 5 11
1 20 7 8
2 9 7 10
3 20 9 6
4 25 12 6
5 29 9 5
6 20 9 9
7 25 4 12

Мы можем использовать следующий синтаксис для сортировки строк DataFrame по возрастанию точек , а затем по убыванию:

#sort by points ascending, then assists ascending
df = df.sort_values(['points', 'assists'])

#view updated DataFrame
df

 points assists rebounds
2 9 7 10
0 14 5 11
1 20 7 8
3 20 9 6
6 20 9 9
7 25 4 12
4 25 12 6
5 29 9 5

Обратите внимание, что строки отсортированы по возрастанию баллов (от меньшего к большему), а затем по возрастанию ассистентов .

Мы также можем использовать аргумент по возрастанию , чтобы указать, следует ли сортировать каждый столбец по возрастанию или по убыванию:

#sort by points descending, then assists ascending
df = df.sort_values(['points', 'assists'], ascending = ( False , True )))

#view updated DataFrame
df

 points assists rebounds
5 29 9 5
7 25 4 12
4 25 12 6
1 20 7 8
3 20 9 6
6 20 9 9
0 14 5 11
2 9 7 10

Обратите внимание, что строки отсортированы по убыванию точек (от большего к меньшему), а затем по возрастанию .

В этих примерах мы отсортировали DataFrame по двум столбцам, но мы можем использовать этот точный синтаксис для сортировки по любому количеству столбцов, которое нам нужно.

Примечание.Полную документацию по функции sort_values() в pandas можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Pandas: как сортировать по дате
Pandas: как сортировать столбцы по имени
Pandas: как сортировать по индексу и столбцу

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.