2つのアレイの NumPy 交差
このチュートリアルでは、Python で NumPy 配列の交差を実行する方法を紹介します。
Python の numpy.in1d()
メソッドとの NumPy の交差
交差とは、2 セットの要素に共通する要素を意味します。2つの 1DNumPy 配列の共通部分を見つけたい場合は、Python で numpy.in1d()
メソッドを使用できます。numpy.in1d()
メソッドは 2つの配列を受け取り、最初の配列の各要素が 2 番目の配列に存在するかどうかを確認し、両方の配列に存在する各要素に true、存在する各要素に false を含むブール配列を返します。最初の配列にはありますが、2 番目の配列にはありません。この結果の配列を最初の配列インデックスとして使用して、両方の配列の共通要素を取得できます。
import numpy as np
A = np.array([2, 3, 5, 7, 11])
B = np.array([1, 3, 5, 7, 9])
C = A[np.in1d(A, B)]
print(C)
出力:
[3 5 7]
最初に、np.array()
メソッドを使用して 2つの配列を作成しました。次に、両方の配列の共通部分を配列 C
内に C = A[np.in1d(A, B)]
で格納しました。
Python の numpy.intersect1d()
メソッドとの NumPy の交差
numpy.intersect1d()
メソッドを使用して、Python で 2つの 1D 配列の共通部分を見つけることもできます。numpy.intersect1d()
メソッドは配列を受け取り、ソートされた交差を別の 1D 配列の形式で返します。次のコード例を参照してください。
import numpy as np
A = np.array([2, 3, 5, 7, 11])
B = np.array([1, 3, 5, 7, 9])
C = np.intersect1d(A, B)
print(C)
出力:
[3 5 7]
上記のコードの numpy.intersect1d()
メソッドを使用して、配列 A
と B
の共通部分を配列 C
内に格納しました。
どちらのメソッドも問題なく機能しますが、np.intersect1d()
メソッドは np.in1d()
メソッドよりも使いやすいです。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn