Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Pandas Index 객체의 고유 요소 개수 구하기 - nunique() 메서드 활용법

Pandas에서 Index 객체에 포함된 고유(unique) 요소의 개수를 확인하려면 index.nunique() 메서드를 사용하면 됩니다. 이 메서드는 인덱스 내에서 중복을 제거한 값이 몇 개인지 정수로 반환해 줍니다.

1. 라이브러리 임포트

먼저 Pandas 라이브러리를 임포트합니다.

import pandas as pd

2. Pandas Index 생성하기

예제를 위해 숫자 값으로 구성된 인덱스를 생성합니다. 일부러 중복된 값(50, 110, 90)을 포함시켜 고유 요소 개수 계산 결과를 명확하게 보여주겠습니다.

index = pd.Index([50, 10, 70, 110, 90, 50, 110, 90, 30])

3. 생성된 인덱스 출력하기

print("Pandas Index...\n", index)

4. 고유 요소 개수 구하기

nunique() 메서드를 호출하면 인덱스에 존재하는 고유 값의 개수를 반환합니다.

print("\n고유 값의 개수...\n", index.nunique())

전체 예제 코드

아래는 위 과정을 모두 포함한 전체 코드입니다. 참고로 unique() 메서드를 함께 사용하면 실제 고유 값 목록도 확인할 수 있습니다. unique()는 값이 등장한 순서대로 반환되며, 별도로 정렬하지 않는다는 점에 유의하세요.

import pandas as pd

# Pandas 인덱스 생성
index = pd.Index([50, 10, 70, 110, 90, 50, 110, 90, 30])

# 인덱스 출력
print("Pandas Index...\n", index)

# 인덱스의 전체 요소 수 반환
print("\n인덱스의 요소 수...\n", index.size)

# 데이터 타입(dtype) 확인
print("\ndtype 객체...\n", index.dtype)

# 인덱스에서 고유 값 추출
# 고유 값은 등장 순서대로 반환되며, 자동으로 정렬되지 않음
print("\n인덱스의 고유 값..\n", index.unique())

# 인덱스의 고유 값 개수 구하기
print("\n고유 값의 개수...\n", index.nunique())

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

Pandas Index...
Int64Index([50, 10, 70, 110, 90, 50, 110, 90, 30], dtype='int64')

Number of elements in the index...
9

The dtype object...
int64

Unique values from the Index..
Int64Index([50, 10, 70, 110, 90, 30], dtype='int64')

Count of unique values...
6

결과 해석

전체 요소는 9개이지만, 중복된 값(50, 110, 90)을 제거하면 고유한 값은 6개(50, 10, 70, 110, 90, 30)입니다. 따라서 index.nunique()는 6을 반환합니다. 이처럼 nunique()는 데이터 분석 시 인덱스나 컬럼 내 중복 여부를 빠르게 파악하는 데 유용하게 활용됩니다.