[파이썬][numpy] numpy `intersect1d` 함수

Python에서 데이터를 다룰 때 배열은 매우 유용한 자료 구조입니다. 배열을 다루는 라이브러리인 NumPy는 다양한 배열 연산을 제공하며, 이 중 intersect1d 함수는 두 개의 배열을 입력으로 받아 교차점을 찾아주는 기능을 제공합니다.

intersect1d 함수 기능

intersect1d 함수는 두 개의 입력 배열에 대해 교차점을 찾아서 중복된 값을 제외하고 반환합니다. 즉, 두 배열 간의 공통된 요소를 찾는 데 사용됩니다.

예를 들어, 다음과 같이 두 개의 배열 A와 B가 있습니다:

import numpy as np

A = np.array([1, 2, 3, 4, 5])
B = np.array([4, 5, 6, 7, 8])

intersect1d 함수를 사용하면 다음과 같이 배열 A와 B의 교차점을 찾을 수 있습니다:

intersection = np.intersect1d(A, B)
print(intersection)

결과는 아래와 같이 출력됩니다:

[4, 5]

두 배열간의 교차점인 4와 5가 추출되었습니다.

intersect1d 함수의 활용 예시

intersect1d 함수는 다양한 상황에서 유용하게 활용될 수 있습니다. 예를 들어, 다음과 같은 상황을 가정해 봅시다:

import numpy as np

A = np.array([1, 2, 3, 4, 5])
B = np.array([4, 5, 6, 7, 8])
C = np.array([2, 5, 8, 11, 14])

우리는 이 세 개의 배열에서 공통된 값들을 찾고자 합니다. 이때 intersect1d 함수를 사용하면 다음과 같이 간단하게 구할 수 있습니다:

intersection = np.intersect1d(np.intersect1d(A, B), C)
print(intersection)

위 코드의 실행 결과는 아래와 같습니다:

[5]

최종결과인 5는 배열 A, B, C에서 동시에 존재하는 유일한 값입니다.

결론

NumPy의 intersect1d 함수를 사용하면 두 개 이상의 배열에서 교차점을 찾을 수 있습니다. 이 함수를 사용하면 배열 간의 공통된 요소를 간편하게 추출하고 데이터를 다룰 때 유용하게 활용할 수 있습니다.