Как удалить лишние столбцы в pandas?
drop()
.
Если вы хотите удалить один или несколько столбцов по имени, вы можете передать их в аргумент columns
и указать значение axis=1
. Например:
import pandas as pd
# Создание DataFrame
data = {'Имя': ['Анна', 'Борис', 'Клара'],
'Возраст': [25, 32, 29],
'Город': ['Москва', 'Санкт-Петербург', 'Екатеринбург'],
'Зарплата': [50000, 60000, 45000]}
df = pd.DataFrame(data)
# Удаление столбцов 'Город' и 'Зарплата'
df = df.drop(columns=['Город', 'Зарплата'], axis=1)
print(df)
Если вы хотите удалить столбцы по индексу, вы можете передать индекс(ы) в аргумент columns
. Например:
import pandas as pd
# Создание DataFrame
data = {'Имя': ['Анна', 'Борис', 'Клара'],
'Возраст': [25, 32, 29],
'Город': ['Москва', 'Санкт-Петербург', 'Екатеринбург'],
'Зарплата': [50000, 60000, 45000]}
df = pd.DataFrame(data)
# Удаление столбцов с индексом 2 и 3
df = df.drop(columns=df.columns[[2, 3]])
print(df)
Удачи в работе с Pandas!
Детальный ответ
Как убрать лишние столбцы в pandas
При работе с данными с использованием библиотеки pandas в Python может возникнуть необходимость удалить некоторые столбцы из таблицы. В этой статье мы рассмотрим способы, которые позволят вам легко и эффективно убрать лишние столбцы в pandas.
Использование метода drop()
Один из способов удалить столбцы - это использовать метод drop()
. Этот метод позволяет удалить один или несколько столбцов по их именам.
Вот простой пример:
import pandas as pd
# Создаем DataFrame
data = {'Имя': ['Алексей', 'Мария', 'Иван'],
'Возраст': [22, 28, 25],
'Город': ['Москва', 'Санкт-Петербург', 'Казань']}
df = pd.DataFrame(data)
# Удаляем столбец 'Город'
df = df.drop('Город', axis=1)
print(df)
Результат выполнения кода:
Имя Возраст
0 Алексей 22
1 Мария 28
2 Иван 25
В примере мы создали DataFrame с тремя столбцами: 'Имя', 'Возраст' и 'Город'. После выполнения кода df = df.drop('Город', axis=1)
столбец 'Город' удален из DataFrame.
Использование оператора del
Другой способ удалить столбец - использовать оператор del
. Оператор del
позволяет удалить столбец по его имени или индексу.
Вот пример:
import pandas as pd
# Создаем DataFrame
data = {'Имя': ['Алексей', 'Мария', 'Иван'],
'Возраст': [22, 28, 25],
'Город': ['Москва', 'Санкт-Петербург', 'Казань']}
df = pd.DataFrame(data)
# Удаляем столбец 'Город'
del df['Город']
print(df)
Результат выполнения кода:
Имя Возраст
0 Алексей 22
1 Мария 28
2 Иван 25
Аналогично предыдущему примеру, столбец 'Город' был удален из DataFrame при помощи оператора del
.
Использование метода pop()
Метод pop()
также позволяет удалить столбец из DataFrame, но в отличие от предыдущих методов, он возвращает удаленный столбец как отдельный Series.
Пример:
import pandas as pd
# Создаем DataFrame
data = {'Имя': ['Алексей', 'Мария', 'Иван'],
'Возраст': [22, 28, 25],
'Город': ['Москва', 'Санкт-Петербург', 'Казань']}
df = pd.DataFrame(data)
# Удаляем столбец 'Город' и сохраняем его в переменную
city = df.pop('Город')
print(df)
print(city)
Результат выполнения кода:
Имя Возраст
0 Алексей 22
1 Мария 28
2 Иван 25
0 Москва
1 Санкт-Петербург
2 Казань
Name: Город, dtype: object
Как видно из результата выполнения кода, столбец 'Город' был удален из DataFrame, а его значения были сохранены в переменной city
в виде Series.
Использование оператора df.drop()
Еще один способ удаления столбцов - это использование оператора df.drop()
. Этот оператор позволяет удалить один или несколько столбцов по их индексу. Но в отличие от метода drop()
, в данном случае удаление происходит без изменения исходного DataFrame.
Пример:
import pandas as pd
# Создаем DataFrame
data = {'Имя': ['Алексей', 'Мария', 'Иван'],
'Возраст': [22, 28, 25],
'Город': ['Москва', 'Санкт-Петербург', 'Казань']}
df = pd.DataFrame(data)
# Удаляем столбец по индексу
new_df = df.drop(df.columns[1], axis=1)
print(df)
print(new_df)
Результат выполнения кода:
Имя Возраст Город
0 Алексей 22 Москва
1 Мария 28 Санкт-Петербург
2 Иван 25 Казань
Имя Город
0 Алексей Москва
1 Мария Санкт-Петербург
2 Иван Казань
Как видно из результата выполнения кода, столбец 'Возраст' был успешно удален из DataFrame при помощи оператора df.drop()
. Новый DataFrame был сохранен в переменной new_df
, при этом исходный DataFrame df
остался без изменений.
Использование команды loc()
Команда loc()
используется для доступа и изменения элементов в DataFrame. Она также позволяет удалить столбец из DataFrame.
Пример:
import pandas as pd
# Создаем DataFrame
data = {'Имя': ['Алексей', 'Мария', 'Иван'],
'Возраст': [22, 28, 25],
'Город': ['Москва', 'Санкт-Петербург', 'Казань']}
df = pd.DataFrame(data)
# Удаляем столбец 'Имя'
df.loc[:, ~df.columns.isin(['Имя'])]
print(df)
Результат выполнения кода:
Имя Возраст Город
0 Алексей 22 Москва
1 Мария 28 Санкт-Петербург
2 Иван 25 Казань
Как видно из результата выполнения кода, столбец 'Имя' был удален из DataFrame при помощи команды df.loc()
.
Вывод
В этой статье мы рассмотрели несколько способов удаления лишних столбцов в pandas. Один из самых распространенных способов - использовать метод drop()
, который позволяет удалить столбец по его имени или индексу. Мы также рассмотрели использование оператора del
для удаления столбца, метода pop()
для удаления столбца и возврата его как отдельного Series, оператора df.drop()
для удаления столбца по индексу и команды df.loc()
для удаления столбца из DataFrame.
Теперь вы знаете, как выбрать наиболее подходящий способ удаления столбцов в зависимости от ваших потребностей. Успешной работы с pandas!