Изменение порядка столбцов в Pandas: использование метода reindex и метода insert
Last updated
Last updated
В этой статье вы узнаете о различных способах изменения порядка столбцов в DataFrame Pandas, включая использование метода .reindex()
для переупорядочивания столбцов.
Для начала загрузим пример DataFrame, который вы сможете использовать на протяжении всего урока. Для этого урока нам понадобится только библиотека Pandas:
Самый прямой способ изменить порядок столбцов — это использовать прямое присваивание (простите за каламбур!).
Это означает, что вы просто указываете нужный порядок столбцов в виде списка и передаёте его в квадратных скобках при повторном присваивании DataFrame.
В данный момент столбцы нашего DataFrame расположены в следующем порядке: ['Name', 'Age', 'Gender', 'Education', 'City']
.
Предположим, что вы хотите поменять местами столбцы Age
и Gender
. Для этого можно написать следующий код:
Ознакомьтесь с другими уроками Python на сайте datagy, включая наше полное руководство по стилизации Pandas и подробный обзор сводных таблиц (Pivot Tables) в Pandas!
.reindex()
Ещё один способ изменения порядка столбцов — использование метода .reindex()
из Pandas. Он позволяет передать желаемый порядок столбцов через параметр columns=
.
В следующем примере поменяем местами столбцы Education
и City
:
.insert()
Оба вышеуказанных метода предполагают, что вы вручную указываете список столбцов в нужном порядке. Если вы работаете с большим DataFrame, это может быть утомительным и занимать много времени.
Если вы знаете, на какую позицию нужно вставить столбец, метод .insert()
предлагает более удобный способ для этого.
Давайте рассмотрим, как это можно сделать с помощью Python. В следующем примере переместим столбец City
между столбцами Name
и Gender
, чтобы он стал вторым по счёту:
Давайте кратко разберём, что мы сделали:
Мы сохранили столбец df['City']
в переменную city
как объект Series.
Удалили этот столбец из DataFrame с помощью метода .drop()
.
Затем вставили сохранённый столбец обратно в DataFrame на нужную позицию (в данном случае — первую) под тем же названием 'City'
.
В результате получаем следующий DataFrame:
Если вам часто приходится перемещать различные столбцы в DataFrame, вы можете оформить вышеописанный метод в виде пользовательской функции.
Давайте посмотрим, как это можно реализовать на Python:
В этой статье вы узнали, как изменять порядок столбцов в DataFrame Pandas, включая использование методов .reindex()
и .insert()
. В завершение мы рассмотрели пользовательскую функцию, которая поможет вам быстро переупорядочивать столбцы, если эта задача встречается у вас часто.
Чтобы углубить свои знания по смежным темам, ознакомьтесь со следующими материалами:
Добавление пустого столбца в DataFrame Pandas
Если вы хотите узнать больше о методе .reindex()
в Pandas, ознакомьтесь с официальной документацией по .