Як сортувати за кількома стовпцями в pandas (з прикладами)
Ви можете використовувати такий базовий синтаксис, щоб сортувати pandas DataFrame за кількома стовпцями:
df = df. sort_values ([' column1 ', ' column2 '], ascending=( False , True ))
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: сортування за кількома стовпцями в Pandas
Припустімо, що у нас є наступні pandas DataFrame:
import pandas as pd #createDataFrame 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: як сортувати як за індексом, так і за стовпцем