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


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

df.T.drop_duplicates().T

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

Пример: удалить повторяющиеся столбцы в Pandas

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

import pandas as pd

#create DataFrame with duplicate columns
df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
 'points': [25, 12, 15, 14, 19, 23, 25, 29],
 'assists': [25, 12, 15, 14, 19, 23, 25, 29],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

df.columns = ['team', 'points', 'points', 'rebounds']

#view DataFrame
df

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

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

#remove duplicate columns
df.T.drop_duplicates().T

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

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

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

Например, предположим, что у нас есть следующий кадр данных pandas:

import pandas as pd

#create DataFrame with duplicate columns
df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
 'points': [25, 12, 15, 14, 19, 23, 25, 29],
 'points2': [25, 12, 15, 14, 19, 23, 25, 29],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

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

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

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

#remove duplicate columns
df.T.drop_duplicates().T

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

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

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

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