Удаление столбцов в Pandas: Полный гайд (10 примеров)
В Pandas существует несколько способов удаления столбцов из DataFrame. Собрал полный гайд, 10 примеров того, как можно удалить столбец в Pandas.
В Pandas существует несколько способов удаления столбцов из DataFrame. Вот основные методы с примерами кода:
1. Удаление столбца по имени:
Чтобы удалить один столбец, используйте его имя:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
df = df.drop('B', axis=1)
2. Удаление нескольких столбцов по именам:
Если нужно удалить несколько столбцов, передайте список их имен:
df = df.drop(['B', 'C'], axis=1)
3. Удаление столбца по индексу:
Для удаления столбца по индексу используйте df.columns
:
df = df.drop(df.columns[0], axis=1)
4. Удаление нескольких столбцов по индексам:
Аналогично можно удалить несколько столбцов:
df = df.drop(df.columns[[0, 2]], axis=1)
5. Удаление столбца с помощью del
:
Этот способ удаляет столбец "на месте" и не возвращает новый DataFrame:
del df['B']
6. Удаление столбца с помощью pop()
:
Метод pop()
также удаляет столбец "на месте", но в отличие от del
возвращает удаленный столбец:
removed_column = df.pop('B')
7. Использование параметра inplace
:
Если вы хотите изменить исходный DataFrame без создания нового, используйте параметр inplace=True
:
df.drop('B', axis=1, inplace=True)
8. Удаление столбцов с использованием фильтрации:
Можно использовать фильтрацию для создания нового DataFrame без ненужных столбцов:
df = df[['A', 'C']] # Сохраняем только столбцы A и C
9. Удаление столбцов с использованием логической индексации:
Можно использовать логическую индексацию для удаления столбцов по условию:
df = df.loc[:, df.columns != 'B']
10. Удаление столбцов с использованием метода filter()
:
Метод filter()
позволяет исключить столбцы, используя регулярные выражения:
df = df.filter(regex='^(?!B$).*') # Удаляем столбец B
Выбор метода зависит от конкретной задачи и предпочтений разработчика. Важно помнить, что некоторые методы изменяют исходный DataFrame, в то время как другие возвращают новый DataFrame с изменениями.
Если вы знаете ещё способы, пишите в комментариях ;)