Як перетворити індекс на стовпець у pandas (з прикладами)


Ви можете використовувати такий базовий синтаксис, щоб перетворити індекс pandas DataFrame у стовпець:

 #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: Перетворення індексу на стовпець

Наступний код показує, як перетворити індекс pandas DataFrame на стовпець:

 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:

 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 у стовпці у pandas DataFrame:

 #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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *