Data Wrangling

Мастерство работы с индексами Pandas: преобразование индексов в столбцы и обратно

Spread the love

DataFrames в Pandas являются основой манипулирования данными в Python. Их индексы часто содержат важную информацию, которую вы можете захотеть интегрировать в качестве столбцов. В этой статье подробно описаны различные методы преобразования индекса DataFrame в столбец и наоборот.

Содержание:

  1. Добавление индекса в качестве нового столбца
  2. Переименование столбца индекса после преобразования
  3. Преобразование столбца в индекс
  4. Работа со структурами MultiIndex

1. Добавление индекса в качестве нового столбца

Самый простой метод использует атрибут .index:


import pandas as pd

data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)

df['index_col'] = df.index
print(df)

Это напрямую присваивает значения индекса новому столбцу с именем ‘index_col’.

2. Переименование столбца индекса после преобразования

Метод reset_index() преобразует индекс в столбец, по умолчанию ‘index’. Используйте rename_axis() для пользовательского именования:


import pandas as pd

data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)

df = df.rename_axis('original_index').reset_index()
print(df)

Это переименовывает результирующий столбец индекса в ‘original_index’.

3. Преобразование столбца в индекс

Чтобы выполнить обратную операцию, используйте set_index():


import pandas as pd

data = {'index_col': [0, 1, 2], 'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)

df = df.set_index('index_col')
print(df)

Это устанавливает ‘index_col’ в качестве нового индекса DataFrame.

4. Работа со структурами MultiIndex

Для более сложных сценариев, включающих несколько уровней индекса, полезен MultiIndex. Давайте создадим MultiIndex из существующих столбцов, а затем сбросим его, чтобы добавить уровни в качестве столбцов:


import pandas as pd

data = {'level1': ['A', 'A', 'B', 'B'], 'level2': ['X', 'Y', 'X', 'Y'], 'value': [1, 2, 3, 4]}
df = pd.DataFrame(data)

df = df.set_index(['level1', 'level2']).reset_index()
print(df)

Это создает и затем преобразует MultiIndex в отдельные столбцы.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *