Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah anda membandingkan dua tatasusunan NumPy untuk kesamaan unsur-bijak dan menyemak sama ada ia sama sekali?

Bagaimanakah anda membandingkan dua tatasusunan NumPy untuk kesamaan unsur-bijak dan menyemak sama ada ia sama sekali?

DDD
DDDasal
2024-10-26 15:46:02201semak imbas

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

Membandingkan Dua Tatasusunan NumPy untuk Kesamaan Element-Wise

Apabila membandingkan dua tatasusunan NumPy untuk kesamaan dari segi unsur, ia boleh menggoda untuk digunakan operator ==. Walau bagaimanapun, pendekatan ini mengembalikan tatasusunan boolean yang menunjukkan kesamaan untuk setiap pasangan elemen yang sepadan. Untuk menyemak sama ada tatasusunan adalah sama sepenuhnya, kita perlu menentukan sama ada semua elemen dalam tatasusunan boolean adalah Benar.

Cara paling mudah untuk mencapai ini ialah dengan menggunakan ungkapan (A==B).all() . Ungkapan ini mengembalikan nilai boolean tunggal iaitu Benar jika semua elemen tatasusunan boolean (A==B) adalah Benar, menunjukkan bahawa setiap elemen dalam dua tatasusunan adalah sama.

Contoh:

<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>

Kes Khas dan Alternatif:

Adalah penting untuk ambil perhatian bahawa:

  • Menggunakan (A==B). all() boleh mengembalikan True dalam kes yang jarang berlaku di mana satu tatasusunan kosong dan satu lagi mengandungi satu elemen.
  • Jika tatasusunan mempunyai bentuk yang berbeza dan tidak boleh disiarkan, pendekatan ini akan menimbulkan ralat.

Dalam kes ini, atau jika anda inginkan pendekatan yang lebih jelas, pertimbangkan untuk menggunakan fungsi khusus berikut:

  • np.array_equal(A, B): Menguji jika tatasusunan mempunyai yang sama bentuk dan semua elemen mempunyai nilai yang sama.
  • np.array_equiv(A, B): Menguji jika tatasusunan boleh disiarkan dan mempunyai nilai yang sama.
  • np.allclose(A, B, ...): Menguji jika tatasusunan mempunyai bentuk yang sama dan elemennya cukup hampir (dalam toleransi yang ditentukan).

Atas ialah kandungan terperinci Bagaimanakah anda membandingkan dua tatasusunan NumPy untuk kesamaan unsur-bijak dan menyemak sama ada ia sama sekali?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn