2つのアレイの NumPy 交差

Muhammad Maisam Abbas 2023年1月30日
  1. Python の numpy.in1d() メソッドとの NumPy の交差
  2. Python の numpy.intersect1d() メソッドとの NumPy の交差
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() メソッドを使用して、配列 AB の共通部分を配列 C 内に格納しました。

どちらのメソッドも問題なく機能しますが、np.intersect1d() メソッドは np.in1d() メソッドよりも使いやすいです。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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