ホームページ  >  記事  >  バックエンド開発  >  2 つの NumPy 配列を要素ごとに比較し、完全に等しいかどうかを確認するにはどうすればよいでしょうか?

2 つの NumPy 配列を要素ごとに比較し、完全に等しいかどうかを確認するにはどうすればよいでしょうか?

DDD
DDDオリジナル
2024-10-26 15:46:02201ブラウズ

How do you compare two NumPy arrays for element-wise equality and check if they are entirely equal?

2 つの NumPy 配列を要素ごとに比較する

2 つの NumPy 配列を要素ごとに比較する場合、次のように使用したくなることがあります。 == 演算子。ただし、このアプローチでは、対応する要素のペアごとに等しいことを示すブール配列が返されます。配列が完全に等しいかどうかを確認するには、ブール配列内のすべての要素が True かどうかを判断する必要があります。

これを実現する最も簡単な方法は、(A==B).all() 式を使用することです。 。この式は、ブール配列 (A==B) のすべての要素が True の場合に True となる単一のブール値を返します。これは、2 つの配列のすべての要素が等しいことを示します。

例:

<code class="python">import numpy as np

arr1 = np.array([1, 1, 1])
arr2 = np.array([1, 1, 1])

result = (arr1 == arr2).all()
print(result)  # Output: True</code>

特殊なケースと代替案:

次のことに注意することが重要です:

  • (A==B) を使用します。 all() は、一方の配列が空で、もう一方の配列に単一の要素が含まれている場合に、まれに True を返すことがあります。
  • 配列の形状が異なっていてブロードキャストできない場合、このアプローチではエラーが発生します。

このような場合、またはより明示的なアプローチが必要な場合は、次の特殊な関数の使用を検討してください:

  • np.array_equal(A, B): 配列が同じであるかどうかをテストします。形状とすべての要素が等しい値を持ちます。
  • np.array_equiv(A, B): 配列がブロードキャストでき、同じ値を持つかどうかをテストします。
  • np.allclose(A, B, ...): 配列の形状が同じで、その要素が (指定された許容範囲内で) 十分に近いかどうかをテストします。

以上が2 つの NumPy 配列を要素ごとに比較し、完全に等しいかどうかを確認するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。