인덱스에서 고유한 값이란?
Pandas에서 인덱스(Index)에 포함된 중복 값을 제거하고 고유한(unique) 값만 추출하려면 index.unique() 메서드를 사용합니다. 이 메서드는 인덱스 객체를 대상으로 호출하며, 중복이 제거된 새로운 인덱스를 반환합니다.
기본 사용법
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
다음과 같이 Pandas 인덱스를 생성할 수 있습니다.
index = pd.Index([10, 50, 70, 10, 90, 50, 10, 30])
생성한 인덱스를 화면에 출력해 확인합니다.
print("Pandas Index...\n", index)index.unique()를 호출하면 고유한 값들이 반환됩니다. 이때 결과값은 등장 순서대로 유지되며, 별도로 정렬되지 않는다는 점에 유의하세요.
index.unique()
전체 예제 코드
아래는 위 과정을 모두 포함한 완전한 예제입니다. 인덱스의 요소 개수(size)와 데이터 타입(dtype)도 함께 출력하여 인덱스 정보를 종합적으로 확인합니다.
import pandas as pd
# Pandas 인덱스 생성
index = pd.Index([10, 50, 70, 10, 90, 50, 10, 30])
# 인덱스 출력
print("Pandas Index...\n", index)
# 인덱스의 요소 개수 반환
print("\nNumber of elements in the index...\n", index.size)
# 데이터의 dtype 반환
print("\nThe dtype object...\n", index.dtype)
# 인덱스에서 고유한 값 추출
# 고유한 값은 등장 순서대로 반환되며, 정렬되지 않음
print("\nUnique values from the Index..\n", index.unique())실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Pandas Index... Int64Index([10, 50, 70, 10, 90, 50, 10, 30], dtype='int64') Number of elements in the index... 8 The dtype object... int64 Unique values from the Index.. Int64Index([10, 50, 70, 90, 30], dtype='int64')
핵심 정리
- index.unique() : 인덱스에서 중복을 제거한 고유 값들을 반환합니다.
- 순서 보존 : 고유 값은 원래 인덱스에서 처음 나타난 순서 그대로 반환되며, 오름차순이나 내림차순으로 정렬되지 않습니다.
- size 속성 : 인덱스에 포함된 전체 요소 개수를 반환합니다 (예제에서는 8개).
- dtype 속성 : 인덱스 데이터의 자료형을 반환합니다 (예제에서는 int64).
참고로, 최신 버전의 Pandas(2.0 이상)에서는 Int64Index가 deprecated 되어 동일한 결과가 Index([10, 50, 70, 90, 30], dtype='int64') 형태로 표시됩니다. 기능 자체는 동일하므로 걱정하지 않아도 됩니다.