NumPy 1.14 - numpy.mask_indices()

numpy.mask_indices




numpy

numpy.mask_indices

numpy.mask_indices(n, mask_func, k=0) [source]

एक्सेस करने के लिए इंडेक्स लौटाएं (n, n) एरेज़, एक मास्किंग फंक्शन दिया गया।

यह मान लें कि एक संभावित सरणी तर्क k साथ आकार वर्ग (n, n) का वर्ग सरणी के लिए एक mask_func है, जब mask_func(a, k) कहा जाता mask_func(a, k) कुछ स्थानों में शून्य के साथ एक नया सरणी देता है ( triu या tril जैसे कार्य यह ठीक है)। फिर यह फ़ंक्शन उन सूचकांकों को लौटाता है जहां गैर-शून्य मान स्थित होंगे।

पैरामीटर:

n : int

लौटे सूचक आकार (एन, एन) के सरणियों तक पहुंचने के लिए मान्य होंगे।

mask_func : कॉल करने योग्य

एक फ़ंक्शन जिसका कॉल सिग्नेचर triu , tril । यही है, mask_func(x, k) एक बूलियन सरणी देता है, mask_func(x, k) आकार xk फ़ंक्शन का एक वैकल्पिक तर्क है।

k : स्केलर

एक वैकल्पिक तर्क जो mask_func से होकर mask_func triu , tril जैसे कार्य एक दूसरा तर्क लेते हैं जिसकी व्याख्या एक ऑफसेट के रूप में की जाती है।

यह दिखाता है:

सूचकांकों : सरणियों के tuple।

उन स्थानों के अनुरूप सूचकांकों की n सरणियाँ जहाँ mask_func(np.ones((n, n)), k) सत्य है।

यह भी देखें

triu , tril , triu_indices , tril_indices

टिप्पणियाँ

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

उदाहरण

ये ऐसे संकेत हैं जो आपको किसी भी 3x3 सरणी के ऊपरी त्रिकोणीय भाग तक पहुंचने की अनुमति देंगे:

>>> iu = np.mask_indices(3, np.triu)

उदाहरण के लिए, यदि एक 3x3 सरणी है:

>>> a = np.arange(9).reshape(3, 3)
>>> a
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> a[iu]
array([0, 1, 2, 4, 5, 8])

एक ऑफसेट मास्किंग फ़ंक्शन को भी पारित किया जा सकता है। यह हमें मुख्य एक के पहले विकर्ण अधिकार पर शुरू होने वाले सूचकांक प्राप्त करता है:

>>> iu1 = np.mask_indices(3, np.triu, 1)

जिसके साथ अब हम केवल तीन तत्व निकालते हैं:

>>> a[iu1]
array([1, 2, 5])