Cara membandingkan dua array numpy: dengan contoh


Anda dapat menggunakan metode berikut untuk membandingkan nilai dua array NumPy:

Metode 1: Uji apakah dua array NumPy sama pada tingkat elemen

 #test if array A and array B are element-wise equal
n.p. array_equal (A,B)

Metode 2: Uji apakah dua array NumPy sama pada tingkat elemen (dalam toleransi)

 #test if array A and array B are element-wise equal (within absolute tolerance of 2)
n.p. allclose (A, B, atol= 2 )

Contoh berikut menunjukkan cara menggunakan masing-masing metode dalam praktik.

Contoh 1: Uji apakah dua array NumPy sama pada level elemen

Kode berikut menunjukkan cara menggunakan fungsi array_equal() untuk menguji apakah dua array NumPy sama pada level elemen:

 import numpy as np

#create two NumPy arrays
A = np. array ([1, 4, 5, 7, 10])
B = np. array ([1, 4, 5, 7, 10])

#test if arrays are element-wise equal
n.p. array_equal (A,B)

True

Fungsi ini mengembalikan True karena kedua array NumPy memiliki panjang yang sama dengan nilai yang sama pada posisi yang sama.

Namun, fungsi tersebut akan mengembalikan False jika kedua array NumPy memiliki nilai yang sama tetapi pada posisi berbeda:

 import numpy as np

#create two NumPy arrays with same values but in different positions
A = np. array ([1, 4, 5, 7, 10])
B = np. array ([1, 4, 7, 5, 10])

#test if arrays are element-wise equal
n.p. array_equal (A,B)

False

Contoh 2: Uji apakah dua array NumPy sama pada level elemen (dalam toleransi)

Kode berikut menunjukkan cara menggunakan fungsi allclose() untuk menguji apakah dua array NumPy sama pada tingkat elemen dalam nilai toleransi 2 :

 import numpy as np

#create two NumPy arrays
A = np. array ([1, 4, 5, 7, 10])
B = np. array ([1, 4, 7, 8, 10])

#test if arrays are element-wise equal (within absolute tolerance of 2)
n.p. allclose (A, B, atol= 2 )

True

Fungsi ini mengembalikan True karena elemen yang cocok antara setiap array NumPy semuanya berada dalam jarak 2 satu sama lain.

Misalnya, kita melihat bahwa elemen di posisi ketiga dan keempat dari setiap array berbeda, tetapi karena setiap pasangan memiliki 2 nilai yang terpisah, fungsinya mengembalikan nilai true.

Namun, jika kita mengubah argumen toleransi absolut (atol) menjadi 1 , maka fungsinya akan mengembalikan False :

 import numpy as np

#create two NumPy arrays
A = np. array ([1, 4, 5, 7, 10])
B = np. array ([1, 4, 7, 8, 10])

#test if arrays are element-wise equal (within absolute tolerance of 1)
n.p. allclose (A, B, atol= 1 )

False

Fungsi ini mengembalikan False karena elemen terkait di posisi ketiga setiap array NumPy tidak berjarak 1 detik satu sama lain.

Catatan : Lihat dokumentasi NumPy untuk penjelasan lengkap tentang fungsi array_equal dan allclose .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di NumPy:

Cara memindahkan elemen dalam array NumPy
Cara menghitung kemunculan elemen di NumPy
Cara menghitung mode array NumPy

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *