गूंगा। सरणियों और मैट्रिसेस के साथ काम करना


<कोड>

डेटा लाइब्रेरी NumPy

NumPy — पायथन प्रोग्रामिंग भाषा के लिए एक ओपन सोर्स लाइब्रेरी, जो वैक्टर, मैट्रिसेस और एरेज़ के साथ काम करने के लिए बड़ी संख्या में संचालन को लागू करती है। 

व्याख्या की गई भाषाओं (जैसे पायथन) में लागू किए गए गणितीय एल्गोरिदम अक्सर संकलित भाषाओं (जैसे फोरट्रान, सी, जावा) में लागू किए गए लोगों की तुलना में बहुत धीमे होते हैं। NumPy पुस्तकालय बहुआयामी सरणियों के साथ काम करने के लिए अनुकूलित कम्प्यूटेशनल एल्गोरिदम (फ़ंक्शन और ऑपरेटरों के रूप में) का कार्यान्वयन प्रदान करता है। 
परिणामस्वरूप, कोई भी एल्गोरिथ्म जिसे सरणियों (मैट्रिसेस) पर संचालन के अनुक्रम के रूप में व्यक्त किया जा सकता है और NumPy का उपयोग करके कार्यान्वित किया जा सकता है, काफी तेज़ है।

NumPy (न्यूमेरिक पायथन) डेटा के साथ काम करने के लिए एक मुख्य गणित लाइब्रेरी है। यह लाइब्रेरी मशीन लर्निंग या डेटा विश्लेषण कार्यों के साथ काम करने के लिए अन्य पुस्तकालयों को रेखांकित करती है (उदाहरण के लिए, Pandas (सारणीबद्ध डेटा के साथ काम करना), SciPy (अनुकूलन के तरीके और वैज्ञानिक गणना), < tt>Matplotlib (प्लॉटिंग))।

 

NumPy के साथ काम करना

खस्ता पुस्तकालय के साथ काम करना शुरू करने के लिए, आपको इसे किसी भी अन्य पुस्तकालय की तरह कार्यक्रम की शुरुआत में आयात करना होगा, आयात numpy या तो (जो अधिक बार प्रयोग किया जाता है) numpy को np के रूप में आयात करें



न्यूमपी वेक्टर्स

NumPy में एक वेक्टर (या सरणी) सजातीय डेटा का एक क्रमबद्ध सेट है।

सदिश के एक तत्व को उसके सूचकांक द्वारा पहुँचा जा सकता है, जैसा कि सूचियों में किया जाता है। वेक्टर के प्रत्येक तत्व का अपना विशिष्ट स्थान होता है, जो निर्माण के दौरान निर्धारित होता है।
सभी सदिश तत्वों का डेटा प्रकार समान होता है (int, str, bool, आदि)।

वेक्टर बनाना
वेक्टर बनाने के लिए, आपको numpy.array कंस्ट्रक्टर (एक पुनरावर्तनीय वस्तु) का उपयोग करने की आवश्यकता है।
कोष्ठक किसी भी पुनरावर्तनीय वस्तु को इंगित करते हैं: टपल, सूची, श्रेणी (), आदि।
 
उदाहरण 
Numpy को np के रूप में आयात करें Numpy को np के रूप में आयात करें प्रिंट (np.array ((1,2,3,4,5))) # टपल से वेक्टर प्रिंट (np.array ([1,2,3,4,5])) # सूची से वेक्टर प्रिंट (np.array (श्रेणी (5))) # जनरेटर से वेक्टर

वेक्टर तत्वों के साथ काम करना

वेक्टर तत्वों के साथ कार्य करना सूची तत्वों के समान है, आप तत्वों को उनके सूचकांक द्वारा एक्सेस कर सकते हैं, और स्लाइस भी बना सकते हैं।

उदाहरण
<टेबल> <शरीर>
<प्री स्टाइल = "मार्जिन-लेफ्ट: 0 पीएक्स; मार्जिन-राइट: 0 पीएक्स; मार्जिन-राइट: 5 पीएक्स"> 1 2 3 4 5 6 7 <टीडी> Numpy को np के रूप में आयात करें वी = एनपी। सरणी ((1,2,3,4)) प्रिंट (वी [0]) # 1 प्रिंट (वी [-1]) # 4 प्रिंट (वी [1: -2]) # [2] प्रिंट (वी [:: 2]) # [1 3]
वेक्टर तत्वों का चयन
वेक्टर तत्वों का चयन करने के लिए, आप तार्किक मान (अभिव्यक्ति) वाले वेक्टर का उपयोग कर सकते हैं। वेक्टर के तत्व जो बूलियन मान वाले वेक्टर में True होंगे उनका चयन किया जाएगा।
 

उदाहरण
Numpy को np के रूप में आयात करें वी = एनपी। सरणी ([1, -2,3, -4,5]) # वेक्टर के पहले दो तत्वों का चयन करें प्रिंट (वी [एनपी। सरणी ((सही, सही, गलत, गलत, गलत))]) # [1 -2] # सकारात्मक वेक्टर तत्वों का चयन करें प्रिंट (वी [वी & gt; 0]) # [1 3 5] # सदिश तत्वों का भी चयन करें प्रिंट (वी [वी% 2 == 0]) # [-2 -4]

सरणी और आव्यूह बनाने के तरीके

सरणियाँ और आव्यूह बनाने के अन्य उपयोगी तरीके।

उदाहरण
<टेबल> <शरीर>
<प्री स्टाइल = "मार्जिन-लेफ्ट: 0 पीएक्स; मार्जिन-राइट: 0 पीएक्स; मार्जिन-राइट: 5 पीएक्स"> 1 2 3 4 5 6 7 8 9 10 ग्यारह 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 तीस 31 32 33 34 35 36 37 <टीडी> Numpy को np के रूप में आयात करें # शून्य का एक आयामी सरणी प्रिंट (एनपी.शून्य (5)) # [0। 0.0.0.0।] # शून्य का द्वि-आयामी सरणी प्रिंट (np.zeros ((2, 3))) # [[0। 0.0।] # [0। 0.0।]] # इकाइयों की 3 डी सरणी प्रिंट (np.ones ((2,3,4))) # [[[1। 1. 1. 1.] # [1। 1. 1. 1.] # [1। 1. 1. 1.]] # # [[1। 1. 1. 1.] # [1। 1. 1. 1.] # [1। 1. 1. 1.]]] # टाइप इंडिकेशन के साथ शून्य का ऐरे प्रिंट (np.zeros (5, dtype=np.int)) # [0 0 0 0 0] # सूचियों की सूची के आधार पर एक सरणी प्रिंट (np.सरणी ([[1,2.0], [0,0], (1,3।)])) # [[1। 2.] # [0। 0.] # [1। 3.]] # 0 से शुरू होने वाली अंकगणितीय प्रगति के तत्वों से भरी एक सरणी प्रिंट (np.arange (10)) # [0 1 2 3 4 5 6 7 8 9] # प्रकार संकेत के साथ अंकगणितीय प्रगति प्रिंट (np.arange (2, 10, dtype=np.float)) # [2। 3. 4. 5. 6. 7. 8. 9.] # गैर-पूर्णांक अंतर के साथ अंकगणितीय प्रगति प्रिंट (np.arange (2, 3, 0.1)) # [2। 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9] # दी गई संख्या के साथ अंकगणितीय प्रगति प्रिंट (np.linspace (1., 4., 6)) # [1। 1.6 2.2 2.8 3.4 4. ]
शून्य सरणी तत्व
 
फ़ंक्शन अशून्य(V) 
परिणाम सरणियों का एक टपल है। ऐसी प्रत्येक सरणी मूल सरणी के एक अलग अक्ष से मेल खाती है और इस सरणी में गैर-शून्य तत्वों वाले सूचकांक शामिल हैं।
V - a NumPy सरणी या सरणी जैसी वस्तु।
a Python tuple (tuple) लौटाता है - मूल सरणी V के गैर-शून्य तत्वों के अनुक्रमित सरणी के साथ tuple।
 
फ़ंक्शन count_nonzero(V) 
यह फ़ंक्शन Python ऑब्जेक्ट्स के बिल्ट-इन  __bool__() मेथड पर आधारित है जो यह जाँचता है कि वे सत्य हैं या नहीं। इससे पता चलता है कि  count_nonzero() फ़ंक्शन वास्तव में न केवल संख्याओं के साथ काम करने में सक्षम है, बल्कि ऐसे किसी भी ऑब्जेक्ट के साथ भी काम करने में सक्षम है जो या तो सही या गलत हो सकता है।
V - a NumPy सरणी या सरणी जैसी वस्तु।
फ़ंक्शन निर्दिष्ट अक्ष के साथ गैर-शून्य सरणी तत्वों की संख्या लौटाता है।

विकर्ण सारणियाँ

 diag(V, k=0) फ़ंक्शन आपको एक सरणी से एक विकर्ण निकालने के साथ-साथ एक-आयामी सरणी से विकर्ण सरणी बनाने की अनुमति देता है।
V - एक सरणी-जैसी वस्तु, द्वि-आयामी या एक-आयामी सरणियाँ, मैट्रिक्स, सूचियाँ, या टुपल्स, या कोई फ़ंक्शन या ऑब्जेक्ट जो एक सूची या टपल देता है।
k - विकर्ण की अनुक्रमणिका (वैकल्पिक).
डिफ़ॉल्ट k = 0 है जो मुख्य विकर्ण से संबंधित है। एक धनात्मक k मान विकर्ण को ऊपर ले जाता है, एक ऋणात्मक मान इसे नीचे ले जाता है।

फ़ंक्शन लौटाता है सरणी NumPy (ndarray) - निर्दिष्ट सरणी विकर्ण या निर्दिष्ट एक-आयामी सरणी से विकर्ण सरणी।

2D NumPy सरणियाँ

तत्व के निर्देशांक निर्दिष्ट करके द्वि-आयामी सरणी का एक तत्व एक्सेस किया जाता है, पहले पंक्ति संख्या, फिर कॉलम संख्या। निर्देशांक अल्पविराम द्वारा अलग किए जाते हैं। 
किसी भी सरणी को reshape(). फ़ंक्शन का उपयोग करके द्वि-आयामी सरणी में बदला जा सकता है

उदाहरण
<टेबल> <शरीर>
<प्री स्टाइल = "मार्जिन-लेफ्ट: 0 पीएक्स; मार्जिन-राइट: 0 पीएक्स; मार्जिन-राइट: 5 पीएक्स"> 1 2 3 4 5 6 7 8 <टीडी> # रीशेप () फ़ंक्शन डेटा को बदले बिना सरणी के आकार को बदलता है। x = np.arange(12).reshape(3, 4) प्रिंट (एक्स) # [[ 0 1 2 3] # [ 4 5 6 7] # [ 8 9 10 11]] # किसी तत्व तक पहुँचने के लिए, उसके निर्देशांक को अल्पविराम से अलग करके निर्दिष्ट करें प्रिंट (एक्स [1, 2]) # 6