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

Python Pandas – difference() 메서드로 두 인덱스의 차집합 구하기

Pandas에서 한 인덱스에는 있지만 다른 인덱스에는 없는 요소들로 구성된 새로운 인덱스를 반환하려면 index1.difference(index2) 메서드를 사용합니다. 이 메서드는 두 인덱스의 차집합을 계산하여 정렬된 새 Index 객체를 돌려줍니다.

1. 라이브러리 임포트

먼저 필요한 라이브러리를 임포트합니다.

import pandas as pd

2. 두 개의 Pandas 인덱스 생성

차이를 비교할 두 개의 인덱스를 생성합니다.

index1 = pd.Index([10, 20, 30, 40, 50])
index2 = pd.Index([80, 40, 60, 20, 55])

3. 인덱스 출력하기

생성한 index1과 index2를 화면에 표시합니다.

print("Pandas Index1...\n", index1)
print("Pandas Index2...\n", index2)

4. 두 인덱스의 차이 구하기

difference() 메서드를 호출하여 두 인덱스의 차집합을 구합니다.

res = index1.difference(index2)

전체 예제 코드

다음은 지금까지의 내용을 모두 포함한 전체 코드입니다.

import pandas as pd

# 두 개의 Pandas 인덱스 생성
index1 = pd.Index([10, 20, 30, 40, 50])
index2 = pd.Index([80, 40, 60, 20, 55])

# Pandas index1과 index2 출력
print("Pandas Index1...\n", index1)
print("Pandas Index2...\n", index2)

# 각 인덱스의 요소 개수 확인
print("\nNumber of elements in index1...\n", index1.size)
print("\nNumber of elements in index2...\n", index2.size)

# 두 인덱스의 차이(차집합) 구하기
res = index1.difference(index2)

# index1에는 있지만 index2에는 없는 요소들로 이루어진 새로운 인덱스 반환
print("\nDifference...\n", res)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Pandas Index1...
Int64Index([10, 20, 30, 40, 50], dtype='int64')
Pandas Index2...
Int64Index([80, 40, 60, 20, 55], dtype='int64')

Number of elements in index1...
5

Number of elements in index2...
5

Difference...
Int64Index([10, 30, 50], dtype='int64')

정리

difference() 메서드는 index1의 요소 중 index2에 존재하지 않는 값인 10, 30, 50만 포함하는 새로운 인덱스를 반환합니다. 참고로 결과 인덱스는 항상 오름차순으로 정렬되며, 중복된 값은 자동으로 제거됩니다. 두 인덱스 간의 고유한 요소를 빠르게 추출해야 할 때 유용하게 활용할 수 있습니다.