Pandas를 세트(Set)로 변환하기
파이썬에서 Pandas의 열(Series) 데이터를 세트(Set) 자료형으로 변환하려면 내장 함수 set()을 사용하면 됩니다. 세트는 중복된 값을 자동으로 제거해 주기 때문에, 고유한 값만 추출하거나 집합 연산(합집합·교집합·차집합)을 수행할 때 매우 유용합니다.
먼저 예제에 사용할 DataFrame을 생성해 보겠습니다.
import pandas as pd
# DataFrame 생성
dataFrame = pd.DataFrame(
{
"EmpName": ['John', 'Ted', 'Jacob', 'Scarlett', 'Ami', 'Ted', 'Scarlett'],
"Zone": ['North', 'South', 'South', 'East', 'West', 'East', 'North']
}
)
이제 각 열을 set()으로 변환한 뒤, 합집합 연산자 |(union)를 사용하여 두 세트를 하나로 합칠 수 있습니다.
set(dataFrame.EmpName) | set(dataFrame.Zone)
위 코드는 직원 이름(EmpName)과 지역(Zone) 두 열에 있는 모든 고유한 값을 중복 없이 하나의 세트로 반환합니다.
전체 예제 코드
다음은 위 과정을 정리한 완전한 실행 코드입니다.
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)
# Pandas 열을 세트로 변환 후 합집합 계산
print("\nPandas를 세트로 타입 캐스팅...\n", set(dataFrame.EmpName) | set(dataFrame.Zone))
실행 결과
위 코드를 실행하면 다음과 같은 출력을 확인할 수 있습니다.
DataFrame ...
EmpName Zone
0 John North
1 Ted South
2 Jacob South
3 Scarlett East
4 Ami West
5 Ted East
6 Scarlett North
Pandas를 세트로 타입 캐스팅...
{'Ami', 'East', 'North', 'West', 'Ted', 'South', 'Jacob', 'John', 'Scarlett'}정리
set()을 활용하면 Pandas Series를 손쉽게 세트로 변환할 수 있으며, | 연산자로 합집합을 구할 수 있습니다. 이 방식은 데이터에서 중복을 제거하고 고유값 목록을 빠르게 얻고자 할 때 특히 효과적입니다. 참고로 교집합은 &, 차집합은 - 연산자를 사용하면 됩니다.