MultiIndex에서 요청된 수준(level)에 해당하는 레이블 값 벡터를 반환하려면 multiIndex.get_level_values() 메서드를 사용하면 됩니다. 이 메서드는 인수로 수준 번호 또는 수준 이름을 받아, 해당 수준의 모든 레이블 값을 Index 객체 형태로 반환합니다.
필요한 라이브러리 가져오기
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
MultiIndex 생성하기
MultiIndex는 pandas 객체를 위한 다중 수준, 즉 계층 구조의 인덱스 객체입니다. 여기서는 from_arrays() 메서드를 사용하여 두 개의 배열로부터 MultiIndex를 생성하고, 각 수준에 'One'과 'Two'라는 이름을 지정합니다.
multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')],names=['One', 'Two'])MultiIndex 출력하기
생성된 MultiIndex를 화면에 표시합니다.
print("The MultiIndex...\n",multiIndex)MultiIndex의 수준(levels) 확인하기
levels 속성을 사용하면 MultiIndex에 포함된 각 수준의 고유한 레이블 목록을 확인할 수 있습니다.
print("\nThe levels in MultiIndex...\n",multiIndex.levels)수준 0의 레이블 값 가져오기
get_level_values() 메서드에 정수 0을 전달하면 첫 번째 수준의 레이블 값들이 반환됩니다.
print("\nLevel values...\n",multiIndex.get_level_values(0))예제
다음은 지금까지 설명한 내용을 모두 포함한 전체 코드입니다. 수준 번호뿐만 아니라 수준 이름("Two")을 사용해서도 레이블 값을 가져오는 방법을 함께 확인할 수 있습니다.
import pandas as pd
# MultiIndex는 pandas 객체를 위한 다중 수준(계층 구조) 인덱스 객체입니다.
multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')],names=['One', 'Two'])
# MultiIndex 출력
print("The MultiIndex...\n",multiIndex)
# MultiIndex의 수준(levels) 확인
print("\nThe levels in MultiIndex...\n",multiIndex.levels)
# 수준 0의 레이블 값 가져오기
print("\nLevel values...\n",multiIndex.get_level_values(0))
# 수준 이름 "Two"를 사용하여 레이블 값 가져오기
print("\nLevel values...\n",multiIndex.get_level_values("Two"))출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
The MultiIndex...
MultiIndex([('p', 's'),
('q', 't'),
('r', 'r'),
('r', 'v'),
('s', 'w'),
('s', 'x')],
names=['One', 'Two'])
The levels in MultiIndex...
[['p', 'q', 'r', 's'], ['r', 's', 't', 'v', 'w', 'x']]
Level values...
Index(['p', 'q', 'r', 'r', 's', 's'], dtype='object', name='One')
Level values...
Index(['s', 't', 'r', 'v', 'w', 'x'], dtype='object', name='Two')