Pandas удалить колонку по индексу

Возможности объектов Index в pandas / pd 3

В отличие от других структур данных в Python pandas не только пользуется преимуществами высокой производительности массивов NumPy, но и добавляет в них индексы.

Этот выбор оказался крайне удачным. Несмотря на и без того отличную гибкость, которая обеспечивается существующими динамическими структурами, внутренние ссылки на их элементы (а именно ими и являются метки) позволяют разработчикам еще сильнее упрощать операции.

В этом разделе речь пойдет о некоторых базовых функциях, использующих этот механизм:

  • Переиндексирование
  • Удаление
  • Выравнивание

Переиндексирование df.reindex()

Вы уже знаете, что после объявления в структуре данных объект Index нельзя менять. Но с помощью операции переиндексирования это можно решить.

Существует даже возможность получить новую структуру из уже существующей, где правила индексирования заданы заново.

Читайте также:  Показать автономную колонку эльтроник 2016

Для того чтобы провести переиндексирование объекта Series библиотека pandas предоставляет функцию reindex() . Она создает новый объект Series со значениями из другого Series , которые теперь переставлены в соответствии с новой последовательностью меток.

При операции переиндексирования можно поменять порядок индексов, удалить некоторые из них или добавить новые. Если метка новая, pandas добавит NaN на место соответствующего значения.

Как видно по выводу, порядок меток можно поменять полностью. Значение, которое раньше соответствовало метке two , удалено, зато есть новое с меткой five .

Тем не менее в случае, например, с большим Dataframe , не совсем удобно будет указывать новый список меток. Вместо этого можно использовать метод, который заполняет или интерполирует значения автоматически.

Для лучшего понимания механизма работы этого режима автоматического индексирования создадим следующий объект Series .

В этом примере видно, что колонка с индексами — это не идеальная последовательность чисел. Здесь пропущены цифры 1, 2 и 4. В таком случае нужно выполнить операцию интерполяции и получить полную последовательность чисел. Для этого можно использовать reindex с параметром method равным ffill . Более того, необходимо задать диапазон значений для индексов. Тут можно использовать range(6) в качестве аргумента.

Теперь в объекте есть элементы, которых не было в оригинальном объекте Series . Операция интерполяции сделала так, что наименьшие индексы стали значениями в объекте. Так, индексы 1 и 2 имеют значение 1, принадлежащее индексу 0.

Если нужно присваивать значения индексов при интерполяции, необходимо использовать метод bfill .

В этом случае значения индексов 1 и 2 равны 5, которое принадлежит индексу 3.

Операция отлично работает не только с Series , но и с Dataframe . Переиндексирование можно проводить не только на индексах (строках), но также и на колонках или на обоих. Как уже отмечалось, добавлять новые индексы и колонки возможно, но поскольку в оригинальной структуре есть недостающие значения, на их месте будет NaN .

item colors price new object
id
0 blue 1.2 blue ball
1 green 1.0 green pen
2 yellow 3.3 yellow pencil
3 red 0.9 red paper
4 white 1.7 white mug

Удаление

Еще одна операция, связанная с объектами Index — удаление. Удалить строку или колонку не составит труда, потому что метки используются для обозначения индексов и названий колонок.

В этом случае pandas предоставляет специальную функцию для этой операции, которая называется drop() . Метод возвращает новый объект без элементов, которые необходимо было удалить.

Например, возьмем в качестве примера случай, где из объекта нужно удалить один элемент. Для этого определим базовый объект Series из четырех элементов с 4 отдельными метками.

Теперь, предположим, необходимо удалить объект с меткой yellow . Для этого нужно всего лишь указать ее в качестве аргумента функции drop() .

Для удаления большего количества элементов, передайте массив с соответствующими индексами.

Если речь идет об объекте Dataframe , значения могут быть удалены с помощью ссылок на метки обеих осей. Возьмем в качестве примера следующий объект.

ball pen pencil paper
red 0 1 2 3
blue 4 5 6 7
yellow 8 9 10 11
white 12 13 14 15

Для удаления строк просто передайте индексы строк.

ball pen pencil paper
red 0 1 2 3
white 12 13 14 15

Для удаления колонок необходимо указывать индексы колонок, а также ось, с которой требуется удалить элементы. Для этого используется параметр axis . Чтобы сослаться на название колонки, нужно написать axis=1 .

ball paper
red 0 3
blue 4 7
yellow 8 11
white 12 15

Арифметика и выравнивание данных

Наверное, самая важная особенность индексов в этой структуре данных — тот факт, что pandas может выравнивать индексы двух разных структур. Это особенно важно при выполнении арифметических операций на их значениях. В этом случае индексы могут быть не только в разном порядке, но и присутствовать лишь в одной из двух структур.

В качестве примера можно взять два объекта Series с разными метками.

Теперь воспользуемся базовой операцией сложения. Как видно по примеру, некоторые метки есть в обоих структурах, а остальные — только в одной. Если они есть в обоих случаях, их значения складываются, а если только в одном — то значением будет NaN .

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

Источник

data_client

Как из 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)

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

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

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

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

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

Источник

Добавление и удаление столбца в DataFrame Pandas

Чтобы добавить новый столбец к существующему в DataFrame Pandas, назначьте новые значения столбца, проиндексированному с использованием нового имени столбца.

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

Синтаксис

Синтаксис для добавления столбца в DataFrame:

Где, mydataframe – это DataFrame, в который вы хотите добавить новый столбец с меткой new_column_name. Вы можете указать все значения столбца в виде списка или одно значение, которое будет использоваться по умолчанию для всех строк.

Пример 1

В этом примере мы создадим DataFrame df_marks и добавим новый столбец с именем geometry.

Столбец добавляется к DataFrame с указанным списком в качестве значений столбца.

Длина списка, который вы предоставляете для нового столбца, должна равняться количеству строк в DataFrame. Если это условие не выполняется, вы получите сообщение об ошибке, подобное приведенному ниже.

Пример 2: со значением по умолчанию

В этом примере мы создадим df_marks и добавим новый столбец с именем geometry со значением по умолчанию для каждой строки в DataFrame.

Столбец добавляется в DataFrame с указанным значением в качестве значения столбца по умолчанию.

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

Функция Pandas DataFrame.pop() используется для удаления столбца из DataFrame.

В этом руководстве мы рассмотрим примеры, чтобы узнать, как использовать pop() для удаления столбца из Pandas DataFrame.

Пример 1

В этом примере мы удалили определенный столбец, используя его имя с помощью pop(). Функция pandas pop() обновляет исходный dataframe. Данные в удаленном столбце потеряны.

Пример 2

В этом примере мы попытаемся удалить столбец, которого нет в DataFrame.

Когда вы пытаетесь удалить несуществующий столбец с помощью pop(), функция выдает ошибку KeyError.

В этом руководстве на примерах Python мы узнали, как удалить столбец из DataFrame с помощью pop() с помощью хорошо подробных примеров программ.

Как удалить столбцы?

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

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

Пример 1: с помощью ключевого слова del

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

Мы удалили столбец химии из DataFrame.

Пример 2: с помощью функции pop()

В этом примере мы создадим DataFrame, а затем будем использовать функцию pop() для удаления определенного столбца.

Мы удалили столбец химии из DataFrame.

Пример 3: с помощью функции drop()

В этом примере мы будем использовать функцию drop() для удаления определенного столбца. Мы используем метку столбца для удаления.

Пример 4: с помощью функции drop()

В этом примере мы будем использовать функцию drop() для удаления нескольких столбцов. Мы используем массив меток столбцов для выбора столбцов для удаления.

Мы узнали, как удалить столбец из Pandas DataFrame, используя ключевое слово del, метод pop() и метод drop(), с помощью хорошо подробных примеров Python.

Источник

Как удалить столбцы (ы) PandaS DataFrame?

Автор: Python Examples
Дата записи

Pandas DataFrame – Удалить столбцы (ы)

Вы можете удалить одну или несколько столбцов DataFrame.

Чтобы удалить или удалить только один столбец из Pandas DataFrame, вы можете использовать либо дель ключевое слово, POP () Функция или падение () Функция на dataframe.

Чтобы удалить несколько столбцов из PandaS DataFrame, используйте падение () Функция на dataframe.

Пример 1: Удалить столбец с помощью ключевого слова

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

Мы удалили Химия столбец из DataFrame.

Пример 2: Удалить столбец с помощью функции POP ()

В этом примере мы создадим dataframe, а затем использовать функцию POP () в DataFrame, чтобы удалить определенный столбец. Столбец выбран для удаления, используя метку столбца.

Мы удалили Химия столбец из DataFrame.

Пример 3: Удалить столбец, используя функцию Drop ()

В этом примере мы будем использовать функцию drop () на dataframe, чтобы удалить определенный столбец. Мы используем метку столбцов, чтобы выбрать столбец для удаления.

Пример 4: Удалить несколько столбцов, используя функцию Drop ()

В этом примере мы будем использовать функцию drop () на dataframe, чтобы удалить несколько столбцов. Мы используем массив меток столбцов, чтобы выбрать столбцы для удаления.

Резюме

В этом уроке Pandas мы узнали, как удалить столбец из Pandas DataFrame с использованием метода DEL ключевого слова, POP () и Drop (), с помощью хорошо подробных примеров Python.

Источник

Оцените статью