Технологии Blogger.

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

При работе с данными в Pandas, часто можно столкнуться с ситуацией, когда часть столбцов в Dataframe не содержат нужной нам информации и их требуется удалить, в этой статье мы рассмотрим несколько способов, как это можно сделать.

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


Сначала подготовим небольшой Dataframe, на основании которого будет делать все манипуляции.

import pandas as pd
city_data = {
    'Город':['Москва', 'Казань', 'Владивосток', 'Санкт-Петербург', 'Калининград'],
    'Дата основания':['1147', '1005', '1860', '1703', '1255'],
    'Площадь':['2511', '516', '331', '1439', '223'],
    'Население':['11,9', '1,2', '0,6', '4,9', '0,4'],
    'Погода':['8', '8', '17', '9', '12'] }
city_df = pd.DataFrame(city_data)
city_df
Основным методом, который нам предлагает Pandas для удаления столбцов, является метод drop.
Синтаксис у метода согласно документации следующий:

drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise'), где:

  • labels – номера или названия столбцов для удаления
  • axis – значение 0, если вы хотите удалить строки, либо 1, если планируете удалять столбцы
  • index – определяет, какие строки надо удалить
  • columns – определяет, какие столбцы надо удалить
  • inplace – изменяет оригинальный Dataframe, если параметр равен True
  • errors – игнорируются ошибки, если параметр задан как ignore

Способ 1. Удаление столбца по его имени в Pandas

Укажите в методе drop название того столбца, что вы хотите удалить, а параметр axis сделайте равным 1:

city_df.drop(columns = ['Население'],axis = 1)
Также мы можем удалить несколько столбцов по названию, для этого перечислите их через запятую внутри квадратных скобок:

city_df.drop(columns = ['Население', 'Погода'], axis = 1) 

Обратите внимание, что синтаксис выше не изменяет исходный Dataframe, если вы хотите это сделать, то добавьте параметр inplace=True

city_df.drop(columns = ['Население'],axis = 1, inplace=True)

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

Способ 2. Удаление столбца по его порядковому номеру в Pandas

Мы можем удалить столбец, указывая не его имя, а его порядковый номер. Обратите внимание, что нумерация столбцов идет в Pandas с 0. К примеру мы хотим убрать столбец «Площадь», его порядковый номер – 2

city_df.drop(city_df.columns[[2]], axis = 1)
Этим же методом мы можем удалить несколько столбцов из Pandas, указав их через запятую. Уберем столбцы Площадь и Погода:

city_df.drop(city_df.columns[[2,3]], axis = 1)

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

Спасибо за внимание. В качестве бонуса прикладываю ноутбук к данной статье.

P.S. Рекомендую еще ознакомиться с нашей статьей «Как из Pandas удалить строку?».

0 comments:

Отправить комментарий

Спасибо за комментарий.