Как удалить столбец в Pandas?

Pandas Программирование и разработка

В этом руководстве мы обсудим, как удалить один или несколько столбцов из Pandas DataFrame. Используя pandas.DataFrame.drop(), pandas.DataFrame.pop() и ключевое слово del, мы можем удалить столбец/столбцы из DataFrame. Каждый из них будет обсуждаться как разные сценарии. В каждом сценарии мы будем удалять столбцы по-разному.

Использование Pandas.DataFrame.Drop

Pandas.DataFrame.drop() используется для удаления определенных строк/столбцов из DataFrame Pandas. В зависимости от значения оси (0 или 1) мы можем удалить строки/столбцы.

Давайте посмотрим синтаксис и параметры, которые передаются в эту функцию:

pandas.DataFrame.drop(labels, axis, index, columns, level, inplace)
  1. Метки столбцов передаются в параметр «labels» (по умолчанию = нет). Вы можете передать имя одного столбца внутри кортежа. Передайте столбцы через список, если вы хотите удалить несколько столбцов. В этом случае также используется параметр «столбцы».
  2. Параметр «ось» (по умолчанию = 0) установлен на 1, чтобы отбросить столбцы.
  3. Параметр «inplace» обновляет исходный DataFrame, если для него установлено значение «True». По умолчанию это «Ложь». Если для него установлено значение «False», исходный DataFrame не обновляется, и ему необходимо сохранить результат в другом DataFrame или любом объекте в этом сценарии.

Датафрейм:

В этом сценарии мы рассматриваем тот же DataFrame, который является «Контактами». Прежде чем реализовывать следующие примеры, убедитесь, что вам необходимо создать этот DataFrame. Этот DataFrame содержит четыре столбца: «Имя», «Роль», «Отдел» и «Деловая электронная почта».

import pandas

# Create DataFrame with 4 columns and 5 records
Contacts = pandas.DataFrame([[‘Sravan.G’,‘Manager’, ‘Sales’, ‘a@gmail.com’],
[‘Manju.K’,‘Lead’, ‘Technical’, ‘b@gmail.com’],
[‘Siri.P’,‘Analyst’, ‘Marketing’, ‘c@gmail.com’],
[‘Gowthami.Sk’,‘Trainee’, ‘Technical’, ‘d@gmail.com’],
[‘Rani.P’,‘Trainee’, ‘Technical’, ‘e@gmail.com’]],columns=[‘Name’, ‘Role’,‘Department’,‘BusinessEmail’])
print(Contacts)

Выход:

В первом выводе «Имя» — это первый столбец, котор

Пример 1. Удаление одного столбца на основе имени столбца

Мы передаем имя столбца, который необходимо удалить из DataFrame, в параметр «labels». В этом примере мы удаляем столбец «имя». Отобразите DataFrame после удаления столбца «Имя».

# Delete Name column
Final_Contacts = Contacts.drop(labels=(‘Name’), axis=1,inplace=False)
print(Final_Contacts)

Выход:

Мы передаем имя столбца, который необходимо удал

Пример 2. Удаление одного столбца на основе индекса столбца

Укажем индекс столбца (индексация начинается с 0), чтобы удалить столбец. Свойство pandas.DataFrame.columns возвращает объект индекса, содержащий все столбцы. Мы можем использовать это свойство и получить доступ к столбцу по индексу. Это передается как значение параметра «labels».

  1. Удалите первый столбец на основе индекса столбца.
  2. Удалите третий столбец на основе индекса столбца.

# Delete first column based on column index
Final_Contacts = Contacts.drop(labels=Contacts.columns[[0]], axis=1,inplace=False)
print(Final_Contacts,«\n«)

# Delete third column based on column index
Final_Contacts = Contacts.drop(labels=Contacts.columns[[2]], axis=1,inplace=False)
print(Final_Contacts)

В первом выводе «Имя» — это первый столбец, который удаляется из DataFrame. Во втором выводе «Отдел» — это третий столбец, который удаляется из DataFrame.

Пример 3. Удаление нескольких столбцов на основе имени столбца

Давайте удалим столбцы «Имя», «Отдел» и «BusinessEmail» из DataFrame. Передайте эти метки столбцов в параметр «columns» через список.

# Delete Name’,’Department’, ‘BusinessEmail’
Final_Contacts = Contacts.drop(columns=[‘Name’,‘Department’, ‘BusinessEmail’], axis=1,inplace=False)
print(Final_Contacts)

Пример 4. Удаление нескольких столбцов на основе индекса столбца

Давайте удалим первый и третий столбцы одновременно, передав индекс столбца параметру «columns» через свойство pandas.DataFrame.columns.

# Delete Multiple columns based on column index
Final_Contacts = Contacts.drop(columns=Contacts.columns[[0,2]], axis=1,inplace=False)
print(Final_Contacts)

«Имя» — это первый столбец, а «Отдел» — третий столбец, которые удаляются из DataFrame.

Пример 5: Использование Iloc[]

pandas.DataFrame.iloc[] используется для возврата данных на основе позиций индекса. Мы удаляем столбцы на основе индекса, обращаясь к ним с помощью этого свойства.

  1. Удалите третий столбец, указав позицию индекса 2 для свойства iloc[].
  2. Удалите первый, третий и четвертый столбцы, указав позиции проходного индекса [2, 3, 0].

# Drop single column with iloc[]
Final_Contacts = Contacts.drop(columns=Contacts.iloc[:,[2]].columns, axis=1,inplace=False)
print(Final_Contacts,«\n«)

# Drop multiple columns with iloc[]
Final_Contacts = Contacts.drop(columns=Contacts.iloc[:,[2,3,0]].columns, axis=1,inplace=False)
print(Final_Contacts)

Пример 6: Использование Loc[]

Свойство pandas.DataFrame.loc[] обращается к набору строк/столбцов на основе метки из DataFrame. Мы удаляем столбцы на основе меток столбцов, обращаясь к ним с помощью этого свойства.

# Drop single column with loc[]
Final_Contacts = Contacts.drop(columns=Contacts.loc[:,[‘Department’]].columns, axis=1,inplace=False)
print(Final_Contacts,«\n«)

# Drop multiple columns with loc[]
Final_Contacts = Contacts.drop(columns=Contacts.loc[:,[‘Name’,‘Department’,‘Role’]].columns, axis=1,inplace=False)
print(Final_Contacts)

Использование ключевого слова Del

Используя ключевое слово «del», мы можем удалить один столбец за раз из Pandas DataFrame. Имя столбца передается вместе с DataFrame.

del DataFrame[‘column_name’]

Пример:

Создайте DataFrame с именем «Контакты» с четырьмя столбцами и пятью записями. Здесь метки столбцов: «Имя», «Роль», «Отдел» и «Деловая электронная почта». Удалите столбец «Роль» из DataFrame, используя ключевое слово «del».

import pandas

# Create DataFrame with 4 columns and 5 records
Contacts = pandas.DataFrame([[‘Sravan.G’,‘Manager’, ‘Sales’, ‘a@gmail.com’],
[‘Manju.K’,‘Lead’, ‘Technical’, ‘b@gmail.com’],
[‘Siri.P’,‘Analyst’, ‘Marketing’, ‘c@gmail.com’],
[‘Gowthami.Sk’,‘Trainee’, ‘Technical’, ‘d@gmail.com’],
[‘Rani.P’,‘Trainee’, ‘Technical’, ‘e@gmail.com’]],columns=[‘Name’, ‘Role’,‘Department’,‘BusinessEmail’])

# Using del keyword
del Contacts[‘Role’]
print(Contacts)

Обработка ошибок

Если указанный столбец не существует в DataFrame, возникает KeyError. В этой ситуации нам нужно проверить, существует ли удаляемый столбец в DataFrame или нет. Мы можем удалить его, если он существует. В противном случае мы отправим сообщение пользователю. Посмотрите на следующий пример и попробуйте удалить столбец «Телефон» из предыдущего DataFrame:

Использование Pandas.DataFrame.Pop

pandas.DataFrame.pop() удаляет указанный элемент и возвращает его. Товар имеет форму серии.

DataFrame.pop(‘column_name’)

Пример:

Создайте DataFrame с именем «Контакты» с четырьмя столбцами и пятью записями. Здесь метки столбцов: «Имя», «Роль», «Отдел» и «Деловая электронная почта». Удалите столбец «Роль» из DataFrame с помощью функции pandas.DataFrame.pop().

import pandas

# Create DataFrame with 4 columns and 5 records
Contacts = pandas.DataFrame([[‘Sravan.G’,‘Manager’, ‘Sales’, ‘a@gmail.com’],
[‘Manju.K’,‘Lead’, ‘Technical’, ‘b@gmail.com’],
[‘Siri.P’,‘Analyst’, ‘Marketing’, ‘c@gmail.com’],
[‘Gowthami.Sk’,‘Trainee’, ‘Technical’, ‘d@gmail.com’],
[‘Rani.P’,‘Trainee’, ‘Technical’, ‘e@gmail.com’]],columns=[‘Name’, ‘Role’,‘Department’,‘BusinessEmail’])

# Using del keyword
del Contacts[‘Role’]
print(Contacts)

Обработка ошибок

Если указанный столбец не существует в DataFrame, возникает KeyError. В этой ситуации нам нужно проверить, существует ли удаляемый столбец в DataFrame или нет. Мы можем удалить его, если он существует. В противном случае мы отправляем сообщение пользователю. Посмотрите на следующий пример и попробуйте удалить столбец «Телефон» из предыдущего DataFrame:

Заключение

Мы изучили шесть различных примеров удаления столбцов из Pandas DataFrame с помощью функции pandas.DataFrame.drop. Затем мы использовали ключевое слово «del», чтобы удалить один столбец из DataFrame Pandas. Pandas.DataFrame.pop также используется для одновременного удаления одного столбца из DataFrame. Сценарии обработки ошибок обсуждаются для этих двух сценариев с примером для каждого из них.

Читайте также:  Pandas Interpolate
Оцените статью
bestprogrammer.ru
Добавить комментарий