파이썬

[Numpy] set routines / in1d, intersect1d, setdiff1d, setxor1d, union1d

콩콩(๓° ˘ °๓)♡ 2023. 3. 30. 01:36

in1d, isin(용법 동일)

numpy.in1d(ar1, ar2, assume_unique=False, invert=False, *, kind=None)

ar1에 ar2의 요소가 있는지 boolean값으로 판별해준다.

test = np.array([0, 1, 2, 5, 0])
states = [0, 2]
np.in1d(test, states)

Out: array([ True, False,  True, False,  True])

intersect1d

numpy.intersect1d(ar1, ar2, assume_unique=False, return_indices=False)

ar1과 ar2의 교집합을 출력한다.

x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20])
a =x[np.where(x % 3 == 0)]
b = x[np.where(x % 4 == 1)]
np.intersect1d(a, b)

Out: array([9])

setdiff1d

numpy.setdiff1d(ar1, ar2, assume_unique=False)

ar1에서 ar2를 뺀 차집합을 출력한다.

a = np.array([1, 2, 3, 2, 4, 1])
b = np.array([3, 4, 5, 6])
np.setdiff1d(a, b)

Out: array([1, 2])

setxor1d

numpy.setxor1d(ar1, ar2, assume_unique=False)

ar1과 ar2의 교집합의 여집합을 출력한다.

a = np.array([1, 2, 3, 2, 4])
b = np.array([2, 3, 5, 7, 5])
np.setxor1d(a,b)

Out: array([1, 4, 5, 7])

union1d

numpy.union1d(ar1, ar2)

ar1과 ar2의 합집합을 출력한다.

np.union1d([-1, 0, 1], [-2, 0, 2])

Out: array([-2, -1,  0,  1,  2])