İki numpy dizisi nasıl karşılaştırılır: örneklerle
İki NumPy dizisinin değerlerini karşılaştırmak için aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: İki NumPy dizisinin öğe düzeyinde eşit olup olmadığını test edin
#test if array A and array B are element-wise equal n.p. array_equal (A,B)
Yöntem 2: İki NumPy dizisinin öğe düzeyinde (bir tolerans dahilinde) eşit olup olmadığını test edin
#test if array A and array B are element-wise equal (within absolute tolerance of 2) n.p. allclose (A, B, atol= 2 )
Aşağıdaki örnekler her yöntemin pratikte nasıl kullanılacağını göstermektedir.
Örnek 1: İki NumPy dizisinin öğe düzeyinde eşit olup olmadığını test edin
Aşağıdaki kod, iki NumPy dizisinin öğe düzeyinde eşit olup olmadığını test etmek için array_equal() işlevinin nasıl kullanılacağını gösterir:
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
Her iki NumPy dizisi de aynı uzunluğa ve aynı konumlarda aynı değerlere sahip olduğundan işlev True değerini döndürür.
Ancak, iki NumPy dizisi aynı değerlere ancak farklı konumlara sahipse işlev False değerini döndürür:
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
Örnek 2: İki NumPy dizisinin öğe düzeyinde (tolerans dahilinde) eşit olup olmadığını test edin
Aşağıdaki kod, iki NumPy dizisinin öğe düzeyinde 2 tolerans değeri dahilinde eşit olup olmadığını test etmek için allclose() işlevinin nasıl kullanılacağını gösterir:
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
Her NumPy dizisi arasındaki eşleşen öğelerin tümü birbirinin 2’si dahilinde olduğundan işlev True değerini döndürür.
Örneğin her dizinin üçüncü ve dördüncü konumlarındaki elemanların farklı olduğunu görüyoruz ancak her çiftin birbirinden 2 değer uzakta olması nedeniyle fonksiyon true değerini döndürüyor.
Ancak mutlak tolerans (atol) argümanını 1 olarak değiştirirsek fonksiyon False değerini döndürecektir:
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
Her NumPy dizisinin üçüncü konumundaki karşılık gelen öğeler birbirinden 1 saniye uzakta olmadığı için işlev False değerini döndürür.
Not : array_equal ve allclose işlevlerinin tam açıklaması için NumPy belgelerine bakın.
Ek kaynaklar
Aşağıdaki eğitimler NumPy’de diğer genel görevlerin nasıl gerçekleştirileceğini açıklamaktadır:
NumPy dizisindeki öğeler nasıl taşınır
NumPy’de eleman oluşumları nasıl sayılır?
NumPy dizisinin modu nasıl hesaplanır