[解決済み】2つのNumPy配列が等しいか、要素ごとに比較する。
2022-03-25 16:43:55
質問
二つの NumPy 配列が等しいかどうかを比較する最も簡単な方法は何ですか(ここで、等しいとは次のように定義されます。A = B iff for all indices i:
A[i] == B[i]
)?
単純に
==
は、ブーリアン配列になります。
>>> numpy.array([1,1,1]) == numpy.array([1,1,1])
array([ True, True, True], dtype=bool)
をしなければならないのでしょうか?
and
それとも、もっと簡単な比較方法があるのでしょうか?
どのように解決するのですか?
(A==B).all()
配列のすべての値(A==B)が真であるかどうかをテストします。
注:A と B の形状もテストしたい場合は、次のようにします。
A.shape == B.shape
特殊なケースと代替案 (dbauppさんの回答、yoavramさんのコメントより)
注意すべきは
-
この解決策は、ある特定のケースで奇妙な動作をすることがあります。
A
またはB
が空で、もう一方が1つの要素を含んでいる場合、その要素はTrue
. なぜか、比較対象がA==B
は空の配列を返し、それに対してall
演算子はTrue
. -
もう一つのリスクは、以下の場合です。
A
とB
が同じ形状を持たず、ブロードキャスト可能でない場合、この方法はエラーを発生させます。
結論として、もしあなたが
A
と
B
の形状を変更したい場合、または単に安全性を確保したい場合は、特殊な関数を使用します。
np.array_equal(A,B) # test if same shape, same elements values
np.array_equiv(A,B) # test if broadcastable shape, same elements values
np.allclose(A,B,...) # test if same shape, elements have close enough values
関連
-
ピロウズ画像色処理の具体的な活用方法
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み] .NETでの2つのバイト配列の比較
-
[解決済み] JavaScriptで2つの配列の差を取得する方法は?
-
[解決済み】JavaScriptで2つの配列を結合し、項目の重複を排除する方法
-
[解決済み】2つの1次元NumPy配列の連結
-
[解決済み】2つのnumpy配列を同時にシャッフルするためのより良い方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピローによる動的キャプチャ認識のためのPythonサンプルコード
-
python call matlab メソッドの詳細
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】TypeError: 系列を <class 'float'> に変換することができません。
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない