Pynote

Python、機械学習、画像処理について

numpy - 集合演算を行う関数

概要

numpy の集合演算を行う関数を整理する。

一覧表

名前 説明
numpy.in1d ar1 の各要素が ar2 に含まれるかどうか判定する。
numpy.intersect1d ar1, ar2 の共通部分を返す。
numpy.isin element の各要素が test_element に含まれているかどうか判定する。
numpy.setdiff1d ar2 から ar1 を引いた差集合を返す。
numpy.setxor1d ar1 または ar2 の一方にしか含まれない要素を返す。
numpy.union1d ar1, ar2 の和集合を返す。

numpy.in1d

ar1 の各要素が ar2 に含まれるかどうか判定する。

関数

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

a = np.array([0, 1, 2, 5, 0])
b = [0, 2]

print(np.in1d(a, b))
# [ True False  True False  True]


numpy.intersect1d

ar1, ar2 の共通部分を返す。

関数

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

a = np.array([9, 3, 4, 8, 4])
b = np.array([0, 7, 3, 4, 0])

print(np.intersect1d(a, b))  # [3 4]


numpy.isin

element の各要素が test_element に含まれているかどうか判定する。

関数

numpy.isin(element, test_elements, assume_unique=False, invert=False)

a = np.array([[2, 4, 1],
              [1, 4, 0],
              [1, 1, 0]])
b = [0, 1]

print(np.isin(a, b))
# [[False False  True]
#  [ True False  True]
#  [ True  True  True]]

numpy.setdiff1d

ar2 から ar1 を引いた差集合を返す。

関数

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

a = np.array([9, 3, 4, 8, 4])
b = np.array([0, 7, 3, 4, 0])

print(np.setdiff1d(a, b))  # [8 9]


numpy.setxor1d

ar1 または ar2 の一方にしか含まれない要素を返す。

関数

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

a = np.array([9, 3, 4, 8, 4])
b = np.array([0, 7, 3, 4, 0])

print(np.setxor1d(a, b))  # [0 7 8 9]


numpy.union1d

ar1, ar2 の和集合を返す。

関数

numpy.union1d(ar1, ar2)

a = np.array([9, 3, 4, 8, 4])
b = np.array([0, 7, 3, 4, 0])

print(np.union1d(a, b))  # [0 3 4 7 8 9]