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


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

df = df[['column1', 'column4', 'column3', 'column2']]

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

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

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

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12],
 'steals': [2, 3, 3, 2, 5, 3, 2, 1]})

#list column names
list(df)

['points', 'assists', 'rebounds', 'steals']

#sort columns by names
df = df[['steals', 'assists', 'rebounds', 'points']]

df

 steals assists rebounds points
0 2 5 11 25
1 3 7 8 12
2 3 7 10 15
3 2 9 6 14
4 5 12 6 19
5 3 9 5 23
6 2 9 9 25
7 1 4 12 29

Пример 2: Сортировка Pandas DataFrame по списку

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

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12],
 'steals': [2, 3, 3, 2, 5, 3, 2, 1]})

#define list of column names
name_order = ['steals', 'assists', 'rebounds', 'points']

#sort columns by list
df = df[name_order]

df

 steals assists rebounds points
0 2 5 11 25
1 3 7 8 12
2 3 7 10 15
3 2 9 6 14
4 5 12 6 19
5 3 9 5 23
6 2 9 9 25
7 1 4 12 29

Пример 3: Сортировка Pandas DataFrame по алфавиту

Следующий код показывает, как отсортировать кадр данных pandas в алфавитном порядке:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12],
 'steals': [2, 3, 3, 2, 5, 3, 2, 1]})

#sort columns alphabetically
df = df[sorted(df.columns )]

df

 assists points rebounds steals
0 5 25 11 2
1 7 12 8 3
2 7 15 10 3
3 9 14 6 2
4 12 19 6 5
5 9 23 5 3
6 9 25 9 2
7 4 29 12 1

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

Как отсортировать Pandas DataFrame по дате
Как найти уникальные значения в столбце Pandas