Pandas Drop Column: как удалить столбец в DataFrame

Метод drop () Pandas DataFrame позволяет нам удалять столбцы и строки из объекта DataFrame.

Pandas Drop Column

Чтобы отбросить или удалить столбец в DataFrame, используйте метод Pandas DataFrame drop (). Метод df.Drop () удаляет указанные метки из строк или столбцов. Он удаляет строки или столбцы, указав имена меток и соответствующую ось, или указав имена индексов или столбцов напрямую.

При использовании мультииндекса метки на разных уровнях можно удалить, указав уровень .

 DataFrame.drop (labels = None, axis = 0,  index = None, columns = None, level = None, inplace = False, errors = 'raise') 

Параметры

метки : одиночные метки или списки

Метки индекса или столбца для удаления .

axis {0 или ‘index’, 1 or ‘columns’}, по умолчанию 0

Следует ли удалять метки из индекса (0 или ‘index’) или столбцов (1 или ‘columns’).

index : одиночная метка или в виде списка

Альтернатива определению оси (метки, axis = 0 эквивалентно index = labels).

столбцы

: одиночные метки или списки

A Альтернатива указанию оси (метки, axis = 1 эквивалентно columns = labels).

level : int или имя уровня, необязательно

Для MultiIndex — уровень, с которого будут удалены метки.

inplace : bool, по умолчанию False

Если Неверно, верните копию. В противном случае выполните операцию inplace и вернет None.

errors {‘ignore’, ‘raise’} , default ‘ raise ‘.

Если’ ignore ‘, подавить ошибку и отбрасываются только существующие метки.

Возвращаемое значение

Функция drop () возвращает DataFrame без удаленных индексов или меток столбцов.

Повышает

Метод drop () может вызвать ошибку KeyError, если какая-либо из меток не найдена на выбранной оси.

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

Удалить один или несколько столбцов из DataFrame можно несколькими способами.

  1. Чтобы удалить столбцы в DataFrame, используйте метод df.drop ().
  2. Удаление столбцов из DataFrame с помощью методов iloc [] и drop ().
  3. Удаление столбцов из DataFrame с помощью методов loc [] и drop ().

Удаление столбцов с помощью df.drop ()

Чтобы создать DataFrame из словаря, используйте pd.DataFrame. from_dict () функция.

 импортировать панд как pddata = {'Show': ['Stranger Things', 'The X-Files', 'Mandalorian', 'The Boys'], 'Streaming': ['Netflix'  , «Fx», «Disney Plus», «Amazon Prime»], «Сезон»: [3, 12, 1, 2], «Главный актер»: [«Милли», «Джиллиан», «Падро», «Карл»  Urban ']} df = pd.DataFrame.from_dict (data) print (df) 

Вывод

 Показать основной сезон потоковой передачи  Actor0 Stranger Things Netflix 3 Милли1 Секретные материалы Fx 12 Джиллиан2 Мандалорианец Дисней Плюс 1 Падро3 Мальчики Amazon Prime 2 Карл Урбан 

Вы можете видеть, что DataFrame состоит из четырех строк и четырех столбцов.

Чтобы удалить один столбец из DataFrame, используйте метод drop () и передайте только один столбец в списке столбцов, как показано ниже.

 # app.pyimport pandas as pddata =  {"Шоу": ["Очень странные дела", "Секретные материалы", "Мандалорцы", "Мальчики"], "Стримы": ["Netflix", "Fx", "Дисней Плюс", "Амазон Прайм" »)  ], «Сезон»: [3, 12, 1, 2], «Главный актер»: [«Милли», «Джиллиан», «Падро», «Карл Урбан»]} df = p  d.DataFrame.from_dict (data) df.drop (columns = ['Season'], inplace = True) print (df) 

Вывод

 python3 app.py Show Streaming Main Actor0 Stranger Things Netflix Millie1 The X-Files Fx Gillian2 Mandalorian Disney Plus Padro3 The Boys Amazon Prime Карл Урбан 

Вы можете видеть, что мы пытались удалите столбец Season , и он удалит столбец.

Удаление нескольких столбцов из DataFrame

Чтобы удалить несколько столбцов из DataFrame, передайте список столбцов, которые необходимо удалить при использовании функции drop ().

 # app.pyimport pandas as pddata = {'Show':  ["Очень странные дела", "Секретные материалы", "Мандалорцы", "Мальчики"], "Стримы": ["Netflix", "Fx", "Disney Plus", "Amazon Prime"], "Сезон"  : [3, 12, 1, 2], 'Главный герой': ['Милли', 'Джиллиан', 'Падро', 'Карл Урбан']} df = pd.DataFrame.from_dict (data) df.drop (columns  = ['Season', 'Streaming'], inplace = True) print (df) 

Вывод ng>

 python3 app.py Show Main Actor0 Stranger Things Millie1 The X-Files Gillian2 Mandalorian Padro3 The Boys Karl Urban 

Как видите, мы прошли список столбцы, такие как «Сезон» и «Потоковая передача», а в выводе он удаляется из DataFrame.

Удаление столбцов на основе индекса столбца

Чтобы удалить столбцы из базы индекса, используйте функцию df.columns ().

 # app. pyimport pandas as pddata = {'Show': ['Stranger Things', 'The X-Files', 'Mandalorian', 'The Boys'], 'Streaming': ['Netflix', 'Fx', 'Disney Plus'  , «Амазонка Прайм»], «Сезон»: [3, 12, 1, 2], «Главный герой»: [«Милли», «Джиллиан», «Падро», «Карл Урбан»]} df = pd.DataFrame  .from_dict (data) df.drop (df.columns [[1, 2]], axis = 1, inplace = True) print (df) 

В этом примере мы хотим удалить индексы столбца 1 и 2, то есть Streaming и Season. Итак, мы удаляем столбцы с помощью индекса столбца с помощью свойства df.columns [] и передаем индексы столбцов в список.

Удаление столбцов с помощью iloc [] и drop ()

Чтобы удалить все столбцы между определенными столбцами, используйте методы iloc [] и drop ().

 # app.  pyimport pandas as pddata = {'Show': ['Stranger Things', 'The X-Files', 'Mandalorian', 'The Boys'], 'Streaming': ['Netflix', 'Fx', 'Disney Plus'  , «Амазонка Прайм»], «Сезон»: [3, 12, 1, 2], «Главный актер»: [«Милли», «Джиллиан», «Падро», «Карл Урбан»]} df = pd.DataFrame  .from_dict (data) df.drop (df.iloc [:, 1: 3], inplace = True, axis = 1) print (df) 

Вывод

 python3 app.py Show Main Actor0 Stranger Things Millie1 The X-Files Gillian2 Mandalorian Padro3 The Boys Karl Urban 

Pandas.DataFrame.iloc — уникальное встроенное свойство который возвращает индексирование на основе целочисленного местоположения для выбора по положению. Мы используем эту функцию, чтобы получить индекс столбца, а затем передать его методу drop () и удалить столбцы на основе индексов.

Отбросить столбцы с помощью loc [] и drop ()

Pandas DataFrame loc [] используется для доступа к группе строк и столбцов по меткам или логическому массиву. См. Следующий код.

 # app.pyimport pandas as pddata = {'Show': ['Stranger Things', 'The X-Files', 'Mandalorian', 'The Boys'],  «Стриминг»: [Netflix, Fx, Disney Plus, Amazon Prime], «Сезон»: [3, 12, 1, 2], «Главный герой»: [«Милли», «Джиллиан»  ',' Padro ',' Karl Urban ']} df = pd.DataFrame.from_dict (data) df.drop (df.loc [:,' Streaming ':' Season ']. Columns, axis = 1, inplace = True  ) print (df) 

Вывод

 python3 app.py Показать главного действующего лица0 Очень странные дела Милли1 Секретные материалы Джиллиан2 Мандалориан Падро3  Мальчики Карл Урбан 

В этом примере мы используем метод loc [] для группировки столбцов и удаления этих столбцов из DataFrame с помощью метода df.drop ()..

Разница между loc () и iloc () в том, что iloc () исключает последний элемент диапазона столбцов.

Подавление ошибок при удалении столбцов и строк

Если DataFrame не содержит при заданных ярлыках возникает ошибка KeyError.

 # app.pyimport pandas as pddata = {'Show': ['Stranger Things', 'The X-Files', 'Mandalorian', 'The Boys'  ], «Стриминг»: [Netflix, Fx, Disney Plus, Amazon Prime], «Сезон»: [3, 12, 1, 2], «Главный герой»: [«Милли»,  'Джиллиан', 'Падро', 'Карл Урбан']} df = pd.DataFrame.from_dict (data) df.drop (columns = ['ABC']) print (df) 

Вывод

 python3 app.pyTraceback (последний вызов последним): KeyError: «['ABC'] не найден на оси» 

Мы можем подавить эту ошибку, указав errors = ‘ignore’ в вызове функции drop ().

 # app.pyimport pandas as pddata = {'Show': ['Stranger Things', '  Секретные материалы »,« Мандалорианец »,« Мальчики »],« Str.  eaming ': [Netflix, Fx, Disney Plus, Amazon Prime], Сезон: [3, 12, 1, 2], Главный актер: [Милли, Джиллиан  , 'Padro', 'Karl Urban']} df = pd.DataFrame.from_dict (data) df.drop (columns = ['ABC'], errors = 'ignore') print (df) 

Результат

 python3 app.py Show Streaming Season Главный актер0 Stranger Things Netflix 3 Millie1 Секретные материалы Fx 12 Джиллиан2 Мандалорианец Дисней Плюс 1 Падро3 Мальчики Амазонка  Prime 2 Karl Urban 

Заключение

Pandas DataFrame drop () — полезный метод удаления ненужных столбцов и строк. Мы видели, как использовать iloc [] и loc [] с методом drop ().

См. Также

DataFrame .loc
Возвращает индексатор на основе местоположения метки для выбора по метке.

DataFrame.dropna
Возвращает DataFrame с пропущенными метками на данной оси, где (все или любые ) данные отсутствуют.

DataFrame.drop_duplicates
Возвращает DataFrame с удаленными повторяющимися строками, при необходимости только с учетом определенных столбцов.

Оцените статью
nanomode.ru
Добавить комментарий