[python] दो से अधिक तर्कों के लिए Numpy `logical_or`



1 Answers

चूंकि बूलियन बीजगणित परिभाषा द्वारा कम्यूटेटिव और सहयोगी दोनों हैं, निम्नलिखित विवरण या ए, बी और सी के बुलियन मूल्यों के बराबर हैं।

a or b or c

(a or b) or c

a or (b or c)

(b or a) or c

तो यदि आपके पास "logical_or" है जो डायाडिक है और आपको इसे तीन तर्क (ए, बी, और सी) पास करने की आवश्यकता है, तो आप कॉल कर सकते हैं

logical_or(logical_or(a, b), c)

logical_or(a, logical_or(b, c))

logical_or(c, logical_or(b, a))

या आप जो भी क्रमपरिवर्तन पसंद करते हैं।

पाइथन पर वापस, यदि आप यह जांचना चाहते हैं कि कोई शर्त (एक test द्वारा उत्पन्न किया गया है जो एक परीक्षक लेता है और एक बूलियन मान देता है) एक या बी या सी या सूची एल के किसी भी तत्व पर लागू होता है, तो आप आमतौर पर उपयोग करते हैं

any(test(x) for x in L)
Question

Numpy के logical_or फ़ंक्शन तुलना करने के लिए दो से अधिक सरणी नहीं लेता है। मैं दो से अधिक सरणी का संघ कैसे ढूंढ सकता हूं? (Numpy के logical_and संबंध में और दो से अधिक सरणी के चौराहे को प्राप्त करने के संबंध में एक ही सवाल पूछा जा सकता है।)




योग फ़ंक्शन का उपयोग करना:

a = np.array([True, False, True])
b = array([ False, False,  True])
c = np.vstack([a,b,b])

Out[172]: 
array([[ True, False,  True],
   [False, False,  True],
   [False, False,  True]], dtype=bool)

np.sum(c,axis=0)>0
Out[173]: array([ True, False,  True], dtype=bool)





Related