हमारे पास numpy.testing.assert_array_equal
है कि दो सरणी बराबर हैं।numpy परीक्षण assert array बराबर नहीं
लेकिन numpy.testing.assert_array_not_equal
करने का सबसे अच्छा तरीका क्या है, यह सुनिश्चित करने के लिए कि दो सरणी बराबर नहीं हैं?
हमारे पास numpy.testing.assert_array_equal
है कि दो सरणी बराबर हैं।numpy परीक्षण assert array बराबर नहीं
लेकिन numpy.testing.assert_array_not_equal
करने का सबसे अच्छा तरीका क्या है, यह सुनिश्चित करने के लिए कि दो सरणी बराबर नहीं हैं?
आप विशेष रूप से NumPy परीक्षण का उपयोग करना चाहते हैं, तो आप एक साथ numpy.testing.assert_array_equal
numpy.testing.assert_raises के साथ विपरीत परिणाम के लिए उपयोग कर सकते हैं। उदाहरण के लिए:
assert_raises(AssertionError, assert_array_equal, array_1, array_2)
इसके अलावा numpy.testing.utils.assert_array_compare
है (यह numpy.testing.assert_array_equal
द्वारा प्रयोग किया जाता है), लेकिन मैं इसे कहीं भी दस्तावेज नहीं दिख रहा है, इसलिए सावधानी से उपयोग करें। यह एक जाँच करेगा कि हर तत्व अलग है, तो मुझे लगता है कि यह आपके उपयोग के मामले नहीं है:
import operator
assert_array_compare(operator.__ne__, array_1, array_2)
पहली विधि के लिए साफ हैक हैक। दूसरा एकमात्र सफल होगा यदि प्रत्येक तत्व, न केवल कुछ, अलग-अलग है, जहां तक मैं कह सकता हूं। यकीन नहीं है कि ओपी क्या चाहता है। +1 या तो रास्ता। –
हां, आप दूसरे के बारे में सही हैं। जवाब संपादित करेंगे। – Eswcvlad
पहला यह मेरे लिए करता है! धन्यवाद! –
मुझे नहीं लगता कि वहाँ NumPy परीक्षण ढांचे में सीधे बनाया कुछ भी है, लेकिन तुम सिर्फ इस्तेमाल कर सकते हैं:
np.any(np.not_equal(a1,a2))
और unittest ढांचे में बनाया या True
उदा को assert_equal
रूप NumPy के साथ जांच के साथ सच जोर
np.testing.assert_equal(np.any(np.not_equal(a,a)), True)
आपके परीक्षण की भावना फिसल गई है। ओपी असमान सरणी पास करने के लिए चाहता है। –
यूप - बस परीक्षण को दूसरी तरफ फिसल गया। स्पॉटिंग के लिए धन्यवाद। @MadPhysicist – Mark
आपको शायद 'TestCase.assertTrue (np.any (...))' (या 'nose.tools.assert_true (np.any (...)) 'का उपयोग करना चाहिए, यदि आप' टेस्टकेस 'के बाहर हैं)। –
सुनिश्चित नहीं हैं कि क्यों इस पोस्ट नहीं किया गया है, हो सकता है मैं सवाल ठीक से समझ में नहीं आया है, लेकिन क्या के बारे में:
assert not np.array_equal(array1 , array2)
किसी भी कारण है कि आप numpy के परीक्षण मॉड्यूल में विशेष रूप से इसे रखने के लिए चाहते हैं?
सरणी कितनी असमान हैं? क्या वे प्रत्येक तत्व, या कम से कम एक में भिन्न होना चाहिए? –
कम से कम एक तत्व असमान होना चाहिए। यही है, दो सरणी की सामग्री एक जैसी नहीं हो सकती है। यदि एक तत्व भिन्न होता है, तो सब कुछ ठीक है। –
फिर @ Eswcvlad का जवाब शायद आपको मिलेगा सबसे सुंदर हैक। –