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

Python Pandas에서 단일 열의 고유한 값 찾기 – unique() 메서드 완벽 가이드

Pandas DataFrame에서 단일 열의 고유한(unique) 값을 추출하려면 unique() 메서드를 사용하면 됩니다. 예를 들어 직원 정보가 담긴 DataFrame이 있다고 가정해 보겠습니다. 서로 다른 두 명의 직원이 같은 이름을 가질 수 있기 때문에 이름이 중복되어 나타날 수 있습니다. 이럴 때 중복 없이 고유한 직원 이름만 얻고 싶다면 DataFrame 열에 unique() 메서드를 적용하면 됩니다.

1. 라이브러리 임포트

먼저 필요한 라이브러리를 임포트합니다. 여기서는 pandas를 pd라는 별칭으로 가져옵니다.

import pandas as pd

2. DataFrame 생성

다음으로 예제에 사용할 DataFrame을 만듭니다. 이 예제에는 EmpName(직원 이름)Zone(지역) 두 개의 열이 있습니다.

dataFrame = pd.DataFrame(
    {
        "EmpName": ['John', 'Ted', 'Jacob', 'Scarlett', 'Ami', 'Ted', 'Scarlett'],
        "Zone": ['North', 'South', 'South', 'East', 'West', 'East', 'North']
    }
)

3. 단일 열에서 고유한 값 추출하기

"EmpName" 열에서 중복을 제거한 고유한 직원 이름을 가져오려면 아래와 같이 작성합니다.

dataFrame['EmpName'].unique()

전체 예제 코드

지금까지의 내용을 하나로 합친 전체 코드는 다음과 같습니다.

import pandas as pd

# DataFrame 생성
dataFrame = pd.DataFrame(
    {
        "EmpName": ['John', 'Ted', 'Jacob', 'Scarlett', 'Ami', 'Ted', 'Scarlett'],
        "Zone": ['North', 'South', 'South', 'East', 'West', 'East', 'North']
    }
)

print("DataFrame ...\n", dataFrame)

# 단일 열에서 고유한 값 추출
print(f"\nUnique Name of Employees = {dataFrame['EmpName'].unique()}")

실행 결과

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

DataFrame ...
     EmpName   Zone
0      John  North
1       Ted  South
2     Jacob  South
3  Scarlett   East
4       Ami   West
5       Ted   East
6  Scarlett  North
Unique Name of Employees = ['John' 'Ted' 'Jacob' 'Scarlett' 'Ami']

정리

이처럼 dataFrame['열이름'].unique() 형태로 작성하면 해당 열에 포함된 값들에서 중복을 제거하고 고유한 값만 NumPy 배열 형태로 반환받을 수 있습니다. 데이터 분석 시 범주형 변수의 종류를 확인하거나 데이터 품질을 점검할 때 매우 유용하게 활용됩니다. 참고로 고유한 값뿐 아니라 각 값의 개수까지 함께 확인하고 싶다면 value_counts() 메서드를 사용하는 것도 좋은 방법입니다.