Pandas에서 기존 인덱스에서 특정 레이블을 삭제한 새로운 인덱스를 만들려면 index.drop() 메서드를 사용하면 됩니다. 이 메서드에 삭제하고자 하는 레이블들을 리스트 형태로 전달하면, 해당 레이블이 제거된 새 인덱스가 반환됩니다.
1단계: 필요한 라이브러리 가져오기
먼저 pandas 라이브러리를 임포트합니다.
import pandas as pd
2단계: 인덱스 생성하기
pd.Index()를 사용하여 문자열 레이블로 구성된 인덱스를 생성합니다.
index = pd.Index(['Car','Bike','Truck','Ship','Airplane'])
3단계: 인덱스 확인하기
생성된 인덱스를 출력하여 내용을 확인합니다.
print("Pandas Index...\n",index)
4단계: 삭제할 레이블 목록 전달하기
삭제할 레이블('Bike', 'Ship')이 담긴 리스트를 drop() 메서드에 전달합니다. 원본 인덱스는 변경되지 않고, 레이블이 제거된 새로운 인덱스가 반환된다는 점에 유의하세요.
print("\nUpdated index after deleting labels...\n",index.drop(['Bike', 'Ship']))
전체 예제 코드
지금까지의 과정을 하나의 코드로 정리하면 다음과 같습니다.
import pandas as pd
# 인덱스 생성
index = pd.Index(['Car','Bike','Truck','Ship','Airplane'])
# 인덱스 출력
print("Pandas Index...\n",index)
# 데이터의 dtype 반환
print("\nThe dtype object...\n",index.dtype)
# 기반 데이터 형태(shape) 튜플 반환
print("\nA tuple of the shape of underlying data...\n",index.shape)
# 삭제할 레이블 목록을 전달하여 새 인덱스 생성
print("\nUpdated index after deleting labels...\n",index.drop(['Bike', 'Ship']))
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Pandas Index...
Index(['Car', 'Bike', 'Truck', 'Ship', 'Airplane'], dtype='object')
The dtype object...
object
A tuple of the shape of underlying data...
(5,)
Updated index after deleting labels...
Index(['Car', 'Truck', 'Airplane'], dtype='object')
정리
출력 결과를 보면 drop(['Bike', 'Ship'])을 호출한 후 'Bike'와 'Ship' 두 레이블이 제거되고, 나머지 'Car', 'Truck', 'Airplane'으로 구성된 새로운 인덱스가 반환된 것을 확인할 수 있습니다. 이처럼 index.drop()은 불필요한 레이블을 손쉽게 제거하여 깔끔한 인덱스를 만들 때 유용하게 활용됩니다.