Pandas DataFrame reset_index(): сброс индексов

Pandas DataFrame reset_index() используется для сброса индекса DataFrame. Функция reset_index() используется для установки списка целых чисел от 0 до длины данных в качестве индекса.

Метод reset_index() полезен, когда индекс необходимо рассматривать как столбец или когда индекс не имеет смысла и его необходимо сбросить до значения по умолчанию перед другой операцией. В случае MultiIndex метод reset_index() может использоваться для удаления одного или нескольких уровней. Он либо сбрасывает индекс, либо его уровень. Давайте начнем с нескольких основных.

DataFrame в Pandas

DataFrame — это не что иное, как представление листа Excel в памяти с помощью языка программирования Python. Объект index представляет собой неизменяемый массив. Индексация позволяет нам получить доступ к строке или столбцу с помощью метки. Pandas DataFrame — это композиция, содержащая двумерные данные и связанные с ними метки.

DataFrames широко используются в науке о данных, машинном обучении, научных вычислениях и многих других областях, связанных с интенсивным использованием данных.

Существует множество способов создать Pandas DataFrame. В большинстве случаев вы будете использовать конструктор DataFrame и заполнять данные, метки и другую информацию. Иногда вы будете импортировать данные из файла CSV или Excel, можете передать данные в виде двумерного списка, кортежа или массива NumPy. Вы также можете передать его как экземпляр словаря или Pandas Series или как один из многих других типов данных, не рассматриваемых в этом примере.

Прежде чем продолжить, давайте разберемся с set_index() в Pandas.

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

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

См. следующий пример.

Выход:

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

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

Используя функцию DataFrame reset_index(), индекс (метка строки) DataFrame и Series может быть переназначен последовательности чисел (номер строки), начиная с 0. Если номера строк используются в качестве индекса, более удобно переиндексировать, когда порядок строк меняется после сортировки или отсутствует номер после удаления строки.

Он также используется для удаления текущего индекса или возврата к столбцу данных при использовании имени строки(строки) в качестве индекса. Используя df.set_index() и df.reset_index(), вы можете изменить индекс на другой столбец.

См. индекс функции Pandas reset_index().

Метод Pandas DataFrame reset_index() в Python

Синтаксис

Параметры

Все параметры заполнены значениями по умолчанию.

В методе reset_index() в Python есть пять параметров.

  • level: это может быть целое число, строка или список для выбора и удаления переданного столбца из индекса.
  • drop: это логический тип данных, он добавляет замененный индексный столбец к данным, если значение равно false.
  • inplace: также относится к логическому типу данных; если логическое значение истинно, оно фиксирует некоторые изменения в самом исходном фрейме данных, если оно истинно.
  • col_level: его значение по умолчанию равно 0. Он выбирает уровень столбца для вставки меток.
  • col_fill: Тип объекта. Он используется для определения того, как называются другие уровни.

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

Функция reset_index() возвращает DataFrame с новым индексом или без него, если значение параметра inplace = true.

Примеры Pandas DataFrame reset_index()

  • Напишем программу, показывающую работу reset_index().

Выход:

Здесь мы видим, что мы создали словарь для небольшого набора данных, затем преобразовали его в DataFrame, затем мы установили индекс для столбца имени, используя метод Pandas set_index(). Затем, используя reset_index, мы сбросили его на уровень 1 и сгенерировали окончательный вывод.

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

  • Напишем программу, которая будет использовать reset_index() для нескольких столбцов(несколько индексов).

Выход:

Во-первых, мы определили Dictionary, а затем использовали этот словарь для создания небольшого DataFrame. Затем мы использовали функцию reset_index() для назначения мультииндекса столбцам Name и Roll no. Используя метод reset_index, мы изменили его на уровень 1. Это означает, что индекс в Roll no удален, и теперь индексируется только столбец Name.

Pandas reset_index() в Jupyter Notebook

Jupyter Notebook — важный инструмент, когда мы имеем дело с большими наборами данных. Чтобы иметь дело с Pandas, нам нужен набор данных. Поэтому я буду использовать набор данных ratings.csv.

Теперь давайте импортируем pandas и используем функцию read_csv() для создания DataFrame из файла CSV.

Нажмите кнопку Shift + Enter, чтобы запустить код, и вы получите следующий вывод.

Pandas reset_index() в Jupyter Notebook

Мы должны использовать функцию DataFrame.head(), чтобы выбрать 5 верхних строк из DataFrame.

Теперь давайте установим индекс для столбца рейтинга.

 set_index

Из вывода видно, что рейтинг не индексируется.

Теперь, чтобы сбросить индекс, мы будем использовать функцию reset_index().

Смотрите вывод.

Pandas DataFrame reset_index()

Вы можете видеть, что он сбрасывает индекс.

Если вы не установили индекс в DataFrame и по-прежнему используете функцию reset_index(), она создаст столбец индекса, начиная с нуля.

reset_index в Python Pandas

Из вывода видно, что метод Pandas reset_index() устанавливает список целых чисел, начиная с 0, до длины данных в качестве индекса.

Удаление исходного индекса: drop

Если для параметра drop задано значение True, исходный индекс удаляется.

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

Удалить исходный индекс в pandas reset_index()

В выводе видно, что столбец рейтинга удален, и в данный момент столбца индекса нет. По умолчанию reset_index() не изменяет исходный объект и возвращает новый объект, но если для аргумента inplace установлено значение True, исходный объект изменяется.

Изменение индекса на другой столбец с помощью reset_index() и set_index()

Допустим, когда мы конвертируем данные CSV в DataFrame, мы можем передать параметр index_col, который указывает, какой столбец станет индексом DataFrame. Если мы передаем index_col = 0, то первый столбец DataFrame будет преобразован в индекс. Затем мы используем функцию reset_index() для сброса индекса DataFrame.

Для лучшего понимания см. следующий пример.

Изменение индекса на другой столбец с помощью reset_index() и set_index().

Заключение

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

Метод Pandas reset_index() необходим для сброса индекса фрейма данных. Метод задает список целых чисел от 0 до длины данных в качестве индекса.

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

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

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