Как преобразовать индекс в столбец в pandas (с примерами)
Вы можете использовать следующий базовый синтаксис для преобразования индекса DataFrame pandas в столбец:
#convert index to column df. reset_index (inplace= True )
Если у вас есть Pandas MultiIndex DataFrame, вы можете использовать следующий синтаксис для преобразования определенного уровня индекса в столбец:
#convert specific level of MultiIndex to column df. reset_index (inplace= True ,level=[' Level1 '])
Следующие примеры показывают, как использовать этот синтаксис на практике.
Пример 1. Преобразование индекса в столбец
Следующий код показывает, как преобразовать индекс DataFrame pandas в столбец:
import pandas as pd #createDataFrame df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19], ' assists ': [5, 7, 7, 9, 12], ' rebounds ': [11, 8, 10, 6, 6]}) #view DataFrame df points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 #convert index to column df. reset_index (inplace= True ) #view updated DataFrame df index points assists rebounds 0 0 25 5 11 1 1 12 7 8 2 2 15 7 10 3 3 14 9 6 4 4 19 12 6
Пример 2. Преобразование мультииндекса в столбцы
Предположим, у нас есть следующий MultiIndex DataFrame pandas:
import pandas as pd #createDataFrame index_names = pd. MultiIndex . from_tuples ([('Level1','Lev1', 'L1'), ('Level2','Lev2', 'L2'), ('Level3','Lev3', 'L3'), ('Level4','Lev4', 'L4')], names=['Full','Partial', 'ID']) data = {' Store ': ['A','B','C','D'], ' Sales ': [17, 22, 29, 35]} df = pd. DataFrame (data, columns = [' Store ',' Sales '], index=index_names) #view DataFrame df Store Sales Full Partial ID Level1 Lev1 L1 A 17 Level2 Lev2 L2 B 22 Level3 Lev3 L3 C 29 Level4 Lev4 L4 D 35
Следующий код показывает, как преобразовать каждый уровень MultiIndex в столбцы в DataFrame pandas:
#convert all levels of index to columns df. reset_index (inplace= True ) #view updated DataFrame df Full Partial ID Store Sales 0 Level1 Lev1 L1 A 17 1 Level2 Lev2 L2 B 22 2 Level3 Lev3 L3 C 29 3 Level4 Lev4 L4 D 35
Мы также могли бы использовать следующий код для преобразования в столбец только определенного уровня MultiIndex:
#convert just 'ID' index to column in DataFrame
df. reset_index (inplace= True ,level=[' ID '])
#view updated DataFrame
df
ID Store Sales
Full Partial
Level1 Lev1 L1 A 17
Level2 Lev2 L2 B 22
Level3 Lev3 L3 C 29
Level4 Lev4 L4 D 35
Обратите внимание, что только уровень «ID» был преобразован в столбец в DataFrame.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные функции в pandas:
Как установить столбец как индекс в Pandas
Как удалить столбцы по индексу в Pandas
Как отсортировать DataFrame по индексу и столбцу в Pandas