NumPy 1.14 - numpy.in1d()

numpy.in1d




numpy

numpy.in1d

numpy.in1d(ar1, ar2, assume_unique=False, invert=False) [source]

परीक्षण करें कि क्या 1-डी सरणी का प्रत्येक तत्व दूसरे सरणी में भी मौजूद है।

एक बूलियन सरणी को ar1 के समान लंबाई ar1 जो कि True है जहाँ ar1 का एक तत्व ar1 है और अन्यथा गलत है।

हम नए कोड के लिए in1d बजाय isin का उपयोग करने की सलाह देते हैं।

पैरामीटर:

ar1 : (M,) array_like

इनपुट सरणी

ar2 : array_like

वे मान जिनके विरुद्ध प्रत्येक मान ar1 का परीक्षण ar1

मान_मूलक : बूल, वैकल्पिक

यदि सही है, तो इनपुट सरणियों को अद्वितीय माना जाता है, जिससे गणना में तेजी आ सकती है। डिफ़ॉल्ट गलत है।

इनवर्ट : बूल, वैकल्पिक

यदि सही है, तो दिए गए ऐरे में मान उलटे हैं (यानी, गलत है जहां ar1 का एक तत्व ar1 है और ट्रू अन्यथा नहीं है)। डिफ़ॉल्ट गलत है। np.in1d(a, b, invert=True) के बराबर है (लेकिन उससे भी तेज है) np.invert(in1d(a, b))

संस्करण 1.8.0 में नया।

यह दिखाता है:

in1d : (एम), नडर्रे , बूल

मान ar1[in1d] ar2

यह भी देखें

isin
इस फ़ंक्शन का संस्करण जो ar1 के आकार को संरक्षित करता है।
numpy.lib.arraysetops
सरणियों पर सेट संचालन करने के लिए कई अन्य कार्यों के साथ मॉड्यूल।

टिप्पणियाँ

in1d को 1-डी क्रम के लिए, अजगर कीवर्ड के तत्व-वार फ़ंक्शन संस्करण के रूप में माना जा सकता है। in1d(a, b) लगभग np.array([item in b for item in a]) बराबर है np.array([item in b for item in a]) । हालाँकि, यह विचार विफल हो जाता है अगर ar2 एक सेट है, या समान (गैर-अनुक्रम) कंटेनर: जैसा कि ar2 एक सरणी में परिवर्तित होता है, उन मामलों में asarray(ar2) निहित मानों के अपेक्षित सरणी के बजाय ऑब्जेक्ट सरणी है।

संस्करण 1.4.0 में नया।

उदाहरण

>>> test = np.array([0, 1, 2, 5, 0])
>>> states = [0, 2]
>>> mask = np.in1d(test, states)
>>> mask
array([ True, False,  True, False,  True])
>>> test[mask]
array([0, 2, 0])
>>> mask = np.in1d(test, states, invert=True)
>>> mask
array([False,  True, False,  True, False])
>>> test[mask]
array([1, 5])