NumPy 세트 작업


세트란?

수학에서 집합은 고유한 요소의 모음입니다.

집합은 빈번한 교차, 합집합 및 차분 연산을 포함하는 연산에 사용됩니다.


NumPy에서 세트 생성

NumPy의 unique()방법을 사용하여 모든 배열에서 고유한 요소를 찾을 수 있습니다. 예를 들어 집합 배열을 만들지만 집합 배열은 1차원 배열이어야 한다는 점을 기억하십시오.

예시

반복되는 요소가 있는 다음 배열을 집합으로 변환합니다.

import numpy as np

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

x = np.unique(arr)

print(x)

연합 찾기

두 배열의 고유한 값을 찾으려면 이 union1d()방법을 사용하십시오.

예시

다음 두 집합 배열의 합집합을 찾으십시오.

import numpy as np

arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([3, 4, 5, 6])

newarr = np.union1d(arr1, arr2)

print(newarr)

교차점 찾기

두 배열에 모두 있는 값만 찾으려면 이 intersect1d()방법을 사용하십시오.

예시

다음 두 집합 배열의 교집합을 찾습니다.

import numpy as np

arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([3, 4, 5, 6])

newarr = np.intersect1d(arr1, arr2, assume_unique=True)

print(newarr)

참고:intersect1d()메서드는 선택적 인수 assume_unique를 사용합니다. 이 인수는 True로 설정하면 계산 속도를 높일 수 있습니다. 집합을 다룰 때는 항상 True로 설정해야 합니다.


차이점 찾기

초 집합에 없는 첫 번째 집합의 값만 찾으려면 setdiff1d()메서드를 사용합니다.

예시

set1과 set2의 차이점을 찾으십시오.

import numpy as np

set1 = np.array([1, 2, 3, 4])
set2 = np.array([3, 4, 5, 6])

newarr = np.setdiff1d(set1, set2, assume_unique=True)

print(newarr)

참고:setdiff1d()메서드는 선택적 인수 assume_unique를 사용합니다. 이 인수는 True로 설정하면 계산 속도를 높일 수 있습니다. 집합을 다룰 때는 항상 True로 설정해야 합니다.


대칭 차이 찾기

BOTH 세트에 없는 값만 찾으려면 이 setxor1d()방법을 사용하십시오.

예시

set1과 set2의 대칭 차이를 찾습니다.

import numpy as np

set1 = np.array([1, 2, 3, 4])
set2 = np.array([3, 4, 5, 6])

newarr = np.setxor1d(set1, set2, assume_unique=True)

print(newarr)

참고:setxor1d()메서드는 선택적 인수 assume_unique를 사용합니다. 이 인수는 True로 설정하면 계산 속도를 높일 수 있습니다. 집합을 다룰 때는 항상 True로 설정해야 합니다.