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

Pandas DataFrames — это структуры данных, где:

  1. Данные организованы в двух измерениях: строках и столбцах.
  2. Метки, соответствующие строкам и столбцам.

Есть много способов создать Pandas DataFrame. В большинстве случаев вы будете использовать конструктор DataFrame и предоставлять данные, метки и другую информацию. Вы можете передавать данные в виде двумерного списка, кортежа или массива NumPy. Также можете использовать его как словарь или экземпляр Pandas Series.

Что такое функция DataFrame drop() в Pandas?

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

Когда мы используем мультииндекс, метки на разных уровнях удаляются путем упоминания уровня. Он используется для удаления фрейма данных, который нам не нужен в нашем анализе.

Давайте создадим Pandas DataFrame, используя Dictionary.

Выход:

Набор данных — это переменная Python, которая ссылается на словарь, содержащий данные учащихся. Он также содержит метки столбцов:

  • ‘Name’
  • ‘Roll No’
  • ‘Maths’
  • ‘Science’
  • ‘English’

Наконец, row_labels относится к списку, содержащему метки строк, представляющие собой числа от a до e. Pandas DataFrames иногда могут быть очень большими, что делает непрактичным просмотр всех строк одновременно. Вместо этого вы можете использовать .head() для отображения первых нескольких элементов и tail() для отображения последних нескольких элементов.

Теперь давайте разберемся с синтаксисом метода Pandas DataFrame drop().

Синтаксис

Параметры

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

  • labels: это индекс или метки столбцов, которые нужно удалить. По умолчанию он установлен в виде одной метки или списка.
  • axis: имеет значения 0 и 1. Мы ставим 0 в параметр, если мы хотим удалить из индекса и 1, когда мы удаляем из столбцов. По умолчанию это 0.
  • index: это альтернатива указанию оси (labels, axis=0 эквивалентна index = labels).
  • columns: это альтернатива определению оси(labels, axis=1 соответствует columns=labels.
  • level: этот параметр является необязательным и предназначен для целей мультииндекса, то есть уровня, с которого будут удалены метки.
  • inplace: это логический параметр, когда true выполняет операцию на месте и возвращает None. По умолчанию его значение равно false.
  • errors: если установлено значение «ignore», ошибка подавляется, и удаляются только существующие метки. Он может иметь два значения: 1-е — «ignore», а 2-е — «raise» по умолчанию; его значение повышается.

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

Метод Pandas drop() возвращает фрейм данных без удаленного индекса или сложных меток.

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

Давайте удалим столбец Science из DataFrame и посмотрим на результат.

Выход:

В этом примере мы удалили столбец Science из DataFrame. Мы можем сделать это по-другому, например, явно определить столбцы в аргументе df.drop().

Нам не нужно передавать параметр axis = 1 в метод drop(). И мы получим тот же результат.

Посмотрим другую программу. показывающую работу функции drop().

Выход:

Здесь, в этом примере, мы создали словарь, который содержит данные о 5 студентах. Данные включают их имена, номера и оценки по различным предметам.

Здесь, если мы хотим отобразить, например, данные только двух предметов, мы можем использовать метод drop(), чтобы удалить конкретный столбец, например, Maths. Итак, здесь мы опустили отметки в математическом столбце, используя функцию отбрасывания.

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

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

Выход:

Здесь мы передали два столбца в аргументе функции drop(), и вы можете видеть, как удалили два столбца с помощью функции drop, это были Marks in maths и Marks in science.

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

Функция df.drop() удаляет столбец на основе индекса столбца. Таким образом, мы можем передать список индексов в функцию drop(), удаляя столбцы на основе индекса столбца.

Выход:

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

Удаление строки по индексу в DataFrame с помощью drop()

Метод Pandas df.drop() удаляет строку, указывая индекс DataFrame. Поэтому мы должны указать список индексов, и он удалит эти строки на основе индексов из DataFrame.

Давайте отбросим строку на основе индексов 0, 2 и 3.

Выход:

В этом примере мы передали список индексов строк в функцию удаления, которую нужно удалить.

Использование методов iloc[] и drop()

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

Выход:

В этом примере мы выбрали 1 и 2 строки с помощью iloc[] и удалили их из DataFrame с помощью метода drop().

Использование методов loc[] и drop()

Функция Pandas DataFrame loc[] используется для доступа к группе строк и столбцов по меткам или логическому массиву. Метод loc() в основном выполняется на основе меток, но булев массив также может это делать. Затем мы удалим выбранные строки или столбцы с помощью метода drop().

Выход:

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

Итеративный способ удаления столбцов

Этот подход не рекомендуется, потому что он требует времени для выполнения, но этот подход делает то, что вы должны получить столбцы, используя метод df.columns(), и перебирать столбцы, используя цикл for. Затем мы используем оператор Python in для удаления столбца с помощью метода del.

Выход:

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

Заключение

Функция Pandas DataFrame drop() в Python

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

  1. Удаление одного столбца из DataFrame.
  2. Нескольких столбцов из DataFrame.
  3. Удаление столбцов с помощью индекса столбца.
  4. С помощью iloc[ ] и drop().
  5. С помощью loc[] и drop().
  6. Итеративным способом.
  7. Удаление строк с помощью индексов.
Оцените статью

Автор статей и разработчик, делюсь знаниями.

Программирование на Python