Pandas에서 첫 번째 항목을 제외하고 중복된 인덱스 값을 표시하려면 index.duplicated() 메서드를 사용합니다. 이때 keep 매개변수를 'first'로 설정하면, 가장 처음 나타난 값은 False로 유지되고 이후에 반복해서 등장하는 값들만 True로 표시됩니다.
duplicated() 메서드란?
duplicated()는 인덱스 내에서 중복된 값을 찾아 불리언(Boolean) 배열로 반환하는 메서드입니다. keep 매개변수는 어떤 중복 값을 남길지 결정하며, 'first'로 지정하면 첫 번째 등장한 값은 중복으로 간주하지 않습니다.
단계별 구현 방법
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
중복 값이 포함된 인덱스를 생성합니다. 여기서 'Airplane'이 두 번 등장합니다.
index = pd.Index(['Car','Bike','Airplane','Ship','Airplane'])
생성된 인덱스를 출력하여 확인합니다.
print("Pandas Index with duplicates...\n",index)첫 번째 등장을 제외한 중복 인덱스 값을 True로 표시합니다. "keep" 매개변수를 "first"로 설정합니다.
print("\nIndicating duplicate values except the first occurrence...\n", index.duplicated(keep='first'))전체 예제 코드
다음은 지금까지의 과정을 하나로 정리한 전체 코드입니다.
import pandas as pd
# 중복 값이 포함된 인덱스 생성
index = pd.Index(['Car','Bike','Airplane','Ship','Airplane'])
# 인덱스 출력
print("Pandas Index with duplicates...\n",index)
# 데이터의 dtype 반환
print("\nThe dtype object...\n",index.dtype)
# 데이터의 차원 확인
print("\nGet the dimensions...\n",index.ndim)
# 첫 번째 등장을 제외한 중복 인덱스 값을 True로 표시
# "keep" 매개변수를 "first"로 설정
print("\nIndicating duplicate values except the first occurrence...\n", index.duplicated(keep='first'))실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Pandas Index with duplicates... Index(['Car', 'Bike', 'Airplane', 'Ship', 'Airplane'], dtype='object') The dtype object... object Get the dimensions... 1 Indicating duplicate values except the first occurrence... [False False False False True]
결과 해석
출력 결과를 보면 마지막 위치의 'Airplane'만 True로 표시된 것을 확인할 수 있습니다. 앞서 네 번째 위치까지의 값('Car', 'Bike', 'Airplane', 'Ship')은 각각 처음 등장한 값이므로 모두 False입니다. 즉, keep='first' 옵션 덕분에 첫 번째 'Airplane'은 중복으로 처리되지 않고, 두 번째로 등장한 'Airplane'만 중복값(True)으로 표시됩니다.