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에서 열을 인덱스로 설정하는 방법