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


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

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

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

import pandas as pd

#create new 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]})

#display DataFrame
df

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

Пример 1: изменение порядка столбцов по имени

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

#change order of columns by name
df[['rebounds', 'assists', 'points']]

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

Пример 2: изменение порядка путем добавления нового первого столбца

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

#define new column to add
steals = [2, 3, 3, 4, 3, 2, 1, 2]

#insert new column in first position
df.insert (0, 'steals', steals)

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

Пример 3: изменение порядка путем добавления нового последнего столбца

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

#define new column to add
steals = [2, 3, 3, 4, 3, 2, 1, 2]

#insert new column in last position
df.insert ( len(df.columns ), 'steals', steals)

#display dataFrame
df

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

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

Как вставить столбец в фрейм данных Pandas
Как удалить столбец индекса в Pandas
Как объединить два столбца в Pandas