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


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

def swap_columns (df, col1, col2):
 col_list = list(df.columns )
 x, y = col_list. index (col1), col_list. index (col2)
 col_list[y], col_list[x] = col_list[x], col_list[y]
 df = df[col_list]
 return df

Эта функция поменяет местами столбцы col1 и col2 в DataFrame.

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

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

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

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
 'points': [18, 22, 19, 14, 14, 11, 20, 28],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print(df)

 team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7 H 28 4 12

Мы можем определить функцию swap_columns() , чтобы поменять местами столбцы «точки» и «отскоки»:

#define function to swap columns
def swap_columns (df, col1, col2):
 col_list = list(df.columns )
 x, y = col_list. index (col1), col_list. index (col2)
 col_list[y], col_list[x] = col_list[x], col_list[y]
 df = df[col_list]
 return df

#swap points and rebounds columns
df = swap_columns (df, 'points', 'rebounds'):

#view updated DataFrame
print(df)

 team rebounds assists points
0 A 11 5 18
1 B 8 7 22
2 C 10 7 19
3 D 6 9 14
4 E 6 12 14
5 F 5 9 11
6 G 9 9 20
7 H 12 4 28

Обратите внимание, что столбцы «очки» и «подборы» поменялись местами, в то время как все остальные столбцы остались на прежнем месте.

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

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

Pandas: как подсчитать вхождения определенного значения в столбце
Pandas: получить индекс строк, столбец которых соответствует значению
Pandas: как подсчитать пропущенные значения в DataFrame

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