İki dizinin eşit olduğunu iddia etmek için numpy.testing.assert_array_equal
var.numpy testing komut dizisi eşit DEĞİL
numpy.testing.assert_array_not_equal
yapmanın en iyi yolu nedir? Yani, iki dizinin eşit OLMADIĞINDAN emin olmak için? Sanmıyorum
İki dizinin eşit olduğunu iddia etmek için numpy.testing.assert_array_equal
var.numpy testing komut dizisi eşit DEĞİL
numpy.testing.assert_array_not_equal
yapmanın en iyi yolu nedir? Yani, iki dizinin eşit OLMADIĞINDAN emin olmak için? Sanmıyorum
, o zaman ters sonuç için numpy.testing.assert_raises birlikte numpy.testing.assert_array_equal
kullanabilirsiniz. Örneğin:
assert_raises(AssertionError, assert_array_equal, array_1, array_2)
Ayrıca (o
numpy.testing.assert_array_equal
tarafından kullanılır)
numpy.testing.utils.assert_array_compare
yoktur, ama her yerde belgelenen göreceğinden, dikkatli kullanmayın. Bu seferki her eleman farklı olup olmadığını kontrol edecektir, bu yüzden bu Kullanım durumunuz değil sanırım:
import operator
assert_array_compare(operator.__ne__, array_1, array_2)
İlk yöntem için düzgün kesmek. İkincisi, sadece her elemanın değil, her elemanın söyleyebildiğim kadar farklı olması durumunda başarılı olacaktır. OP'nin istediği şeyin bu olduğundan emin değilim. Her iki durumda +1. –
Evet, ikinciden haklısınız. Cevabı düzenleyecektir. – Eswcvlad
İlki benim için yapar! Teşekkürler! –
NumPy test çerçevesi içine doğrudan inşa şey olduğunu ama sadece kullanabilirsiniz:
np.any(np.not_equal(a1,a2))
ve unittest çerçevesi yerleşik veya True
örn için assert_equal
olarak numpy ile kontrol ile gerçek iddia Özellikle NumPy test kullanmak istiyorsanız
np.testing.assert_equal(np.any(np.not_equal(a,a)), True)
Testinizin anlamı ters çevrildi. OP eşit olmayan dizilerin geçmesini istiyor. –
Yup - testi tersine çevirdi. Tespit ettiğin için teşekkürler. @MadPhysicist – Mark
Muhtemelen sadece 'TestCase.assertTrue' (np.any (…)) 'yerine kullanmalısınız (ya da 'TestCase' dışında iseniz 'nose.cools.assert_true (np.any (…)). –
bu gönderilmemiş olması neden, düzgün soru anlamadı olabilir ama emin ne hakkında:
assert not np.array_equal(array1 , array2)
Sadece numpy test modülünde tutmak istediğiniz nedenlerden biri?
Diziler ne kadar eşitsiz? Her elementte mi yoksa en azından birinde mi farklı olmalılar? –
En az bir öğe eşit olmamalıdır. Yani, iki dizinin içeriği aynı olmayabilir. Bir öğe farklıysa, her şey yolunda. –
O zaman Eswcvlad'ın cevabı muhtemelen bulacağınız en zarif hack. –