Чтобы удалить повторяющиеся столбцы в пандах, вы можете использовать различные методы. Вот несколько подходов:
- Метод 1: использование транспозиции DataFrame
- Транспонируйте DataFrame с помощью атрибута
.T
. - Используйте метод
.drop_duplications()
, чтобы удалить повторяющиеся строки. - Транспонируйте DataFrame обратно в исходную форму, используя
.T
.
- Транспонируйте DataFrame с помощью атрибута
df = df.T.drop_duplicates().T
- Метод 2: использование проекции DataFrame
- Создайте новый DataFrame, выбрав только те столбцы, которые не являются повторяющимися.
- Используйте метод доступа
.loc
с логической маской, чтобы отфильтровать повторяющиеся столбцы.
df = df.loc[:, ~df.columns.duplicated()]
<старый старт="3">
- Используйте метод
df.query()
, чтобы указать строку запроса, которая выбирает столбцы без дубликатов.
df = df.query('not column_name.duplicated()')
- Метод 4: использование группы DataFrame By
- Сгруппируйте столбцы по именам и выберите первый столбец из каждой группы.
- Переназначьте полученный DataFrame, чтобы перезаписать исходный.
df = df.groupby(df.columns, axis=1).first()
- Метод 5: использование словаря DataFrame
- Преобразуйте DataFrame в словарь пар столбец-значение.
- Создайте новый словарь, в котором ключами будут уникальные имена столбцов.
- Преобразуйте новый словарь обратно в DataFrame.
df = pd.DataFrame({col: df[col] for col in df})