Pandas에서 multiindex를 평면화하는 방법(예제 포함)


다음 기본 구문을 사용하여 Pandas에서 MultiIndex를 평면화할 수 있습니다.

 #flatten all levels of MultiIndex
df. reset_index (inplace= True )

#flatten specific levels of MultiIndex
df. reset_index (inplace= True , level = [' level_name '])

다음 예에서는 이 구문을 실제로 사용하는 방법을 보여줍니다.

예 1: Pandas에서 MultiIndex의 모든 수준을 평면화

다음과 같은 팬더 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': [12, 44, 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의 열로 평면화할 수 있습니다.

 #flatten every level of MultiIndex 
df. reset_index (inplace= True )

#view updated DataFrame
df

        Full Partial ID Store Sales
0 Level1 Lev1 L1 A 12
1 Level2 Lev2 L2 B 44
2 Level3 Lev3 L3 C 29
3 Level4 Lev4 L4 D 35

MultiIndex의 각 수준은 이제 DataFrame의 열입니다.

예 2: Pandas에서 특정 수준의 MultiIndex 평면화

이전 예제와 동일한 pandas DataFrame이 있다고 가정해 보겠습니다.

 #view DataFrame
df

Store Sales
Full Partial ID		
Level1 Lev1 L1 A 12
Level2 Lev2 L2 B 44
Level3 Lev3 L3 C 29
Level4 Lev4 L4 D 35

다음 코드는 MultiIndex의 단일 특정 수준을 평면화하는 방법을 보여줍니다.

 #flatten 'ID' level only
df. reset_index (inplace= True ,level=[' ID '])

#view updated DataFrame
df

		ID Store Sales
Full Partial			
Level1 Lev1 L1 A 12
Level2 Lev2 L2 B 44
Level3 Lev3 L3 C 29
Level4 Lev4 L4 D 35

다음 코드는 MultiIndex의 여러 특정 수준을 평면화하는 방법을 보여줍니다.

 #flatten 'ID' level only
df. reset_index (inplace= True ,level=[' Partial ',' ID '])

#view updated DataFrame
df

	Partial ID Store Sales
Full				
Level1 Lev1 L1 A 12
Level2 Lev2 L2 B 44
Level3 Lev3 L3 C 29
Level4 Lev4 L4 D 35

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 기능을 수행하는 방법을 설명합니다.

Pandas에서 인덱스를 열로 변환하는 방법
Pandas에서 인덱스 이름을 바꾸는 방법
Pandas에서 열을 인덱스로 설정하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다