Pandas DataFrame droplevel 메서드

Beginner

소개

이 랩에서는 Python 의 Pandas 라이브러리에서 droplevel() 메서드를 사용하는 방법을 배우겠습니다. droplevel() 메서드는 DataFrame 의 인덱스 또는 열에서 하나 이상의 레벨을 제거하는 데 사용됩니다. 이 메서드를 사용하는 방법을 이해하기 위해 예제를 살펴보겠습니다.

VM 팁

VM 시작이 완료되면, 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 즉시 문제를 해결해 드리겠습니다.

필요한 라이브러리 가져오기

시작하려면, 표 형식으로 데이터를 처리하는 기능을 제공하는 pandas 라이브러리를 가져와야 합니다.

import pandas as pd

DataFrame 생성

다음으로, 작업할 DataFrame 을 생성해 보겠습니다. pd.DataFrame() 함수를 사용하여 샘플 데이터가 있는 DataFrame 을 생성합니다. 또한 set_index() 메서드를 사용하여 다중 레벨 인덱스를 설정합니다.

df = pd.DataFrame([[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12]]).set_index([0, 1]).rename_axis(['a', 'b'])
df.columns = pd.MultiIndex.from_tuples([('c', 'e'), ('d', 'f')], names=['level_1', 'level_2'])
print(df)

인덱스 레벨 삭제

droplevel() 메서드를 사용하여 DataFrame 의 인덱스에서 레벨을 삭제할 수 있습니다. 이를 위해 삭제하려는 레벨을 droplevel() 메서드의 인수로 지정해야 합니다. 이 메서드는 지정된 레벨이 삭제된 새로운 DataFrame 을 반환합니다.

dropped_level_df = df.droplevel('a')
print(dropped_level_df)

열 (columns) 에서 레벨 삭제

마찬가지로, droplevel() 메서드를 사용하여 DataFrame 의 열에서 레벨을 삭제할 수 있습니다. 삭제하려는 레벨과 열에서 레벨을 삭제하고 있음을 나타내기 위해 axis 매개변수를 1 로 지정해야 합니다.

dropped_level_df = df.droplevel('level_2', axis=1)
print(dropped_level_df)

인덱스에서 여러 레벨 삭제

경우에 따라 인덱스에서 여러 레벨을 삭제해야 할 수 있습니다. 이를 위해 droplevel() 메서드에 레벨 목록을 전달할 수 있습니다. 이 메서드는 인덱스에서 지정된 모든 레벨을 삭제하고 새로운 DataFrame 을 반환합니다.

dropped_levels_df = df.droplevel(['a', 'b'])
print(dropped_levels_df)

요약

이 랩에서는 Python 의 Pandas 라이브러리에서 droplevel() 메서드를 사용하는 방법을 배웠습니다. 이 메서드를 사용하여 DataFrame 의 인덱스와 열에서 레벨을 삭제하는 방법을 배웠습니다. 또한 여러 레벨을 인덱스에서 삭제하는 방법도 배웠습니다. 이 메서드는 인덱스 또는 열에서 불필요한 레벨을 제거하여 DataFrame 의 구조를 조작하려는 경우 유용합니다.