न्यूमपी चीटशीट

Nov 27 2022
तो आपको NumPy पर एक नज़र डालने की ज़रूरत है जो आपको व्यावहारिक रूप से काम करने में मदद करेगा? यह लेख वही है जो आपको चाहिए! प्रारंभ करना NumPy, Python में एक वैज्ञानिक कंप्यूटिंग पैकेज है। यह रैखिक बीजगणित, फूरियर रूपांतरण और मैट्रिसेस के लिए पूर्व-निर्धारित कार्यों के साथ आता है।

तो आपको NumPy पर एक नज़र डालने की ज़रूरत है जो आपको व्यावहारिक रूप से काम करने में मदद करेगा? यह लेख वही है जो आपको चाहिए!

शुरू करना

NumPy Python में एक वैज्ञानिक कंप्यूटिंग पैकेज है। यह रैखिक बीजगणित, फूरियर रूपांतरण और मैट्रिसेस के लिए पूर्व-निर्धारित कार्यों के साथ आता है। NumPy का उपयोग आमतौर पर डेटा साइंस अनुप्रयोगों के लिए किया जाता है।

आरंभ करने के लिए, पहले सुनिश्चित करें कि आपके सिस्टम में Python और NumPy हैं। आप इसे कैसे प्राप्त करते हैं यह आपके सिस्टम और आपकी वरीयता के आईडीई पर निर्भर करता है, लेकिन मैं एनाकोंडा की अनुशंसा करता हूं। मूल एनाकोंडा इंस्टालेशन के साथ आप बस टर्मिनल पर जा सकते हैं और "कोंडा इंस्टाल नम्पी" और वॉइला चला सकते हैं!

अब, काम शुरू करने के लिए एक example.py फाइल बनाते हैं।

नोट: यदि हम काम करने के लिए एक एकल उदाहरण फ़ाइल के बजाय एक प्रोजेक्ट बनाना चाहते हैं, तो हमें इसके अंदर एक निर्देशिका और एक __init__.py फ़ाइल बनानी होगी।

फ़ाइल के भीतर NumPy के साथ काम करने में सक्षम होने के लिए आपको फ़ाइल के शीर्ष पर निम्न पंक्ति जोड़नी चाहिए।

Numpy को np के रूप में आयात करें

नोट: हम आम तौर पर इसे np के रूप में आयात करते हैं ताकि जब भी हम NumPy से कोई फ़ंक्शन कॉल करें तो हमें हर बार numpy टाइप न करना पड़े। ध्यान रखें कि बिल्कुल बदला जा सकता है, एनपी सामान्य सम्मेलन है।

उसके बाद, आप केवल टर्मिनल पर जाकर और कमांड चलाकर उदाहरण फ़ाइल के भीतर कोड चला सकते हैं:

अजगर example.py

सूची बनाम ऐरे

हम अपने NumPy संचालन के साथ Arrays का बहुत अधिक उपयोग करने जा रहे हैं, इसलिए एक बात स्पष्ट करना बेहतर है: Python में सूचियाँ और सरणियाँ अलग-अलग हैं।

Arrays के साथ आप मैट्रिसेस जैसी बहु-आयामी संरचनाओं की घोषणा कर सकते हैं, और आप संख्यात्मक संचालन कर सकते हैं लेकिन साधारण पुरानी सूचियों के मामले में ऐसा नहीं है। इसलिए, NumPy बहुत हद तक Arrays पर निर्भर करता है।

सूचियों को घोषित किए बिना एक मूल्य सौंपा जा सकता है, लेकिन Arrays नहीं कर सकता। तो एक सरणी को परिभाषित करने के लिए आपको यह करना होगा:

exampleArray = np.array ([10, 15, 20]) // एकल आयामी सरणी

या आप एक बहु-आयामी सरणी को इस प्रकार परिभाषित कर सकते हैं:

exampleArray2 = np.सरणी ([10, 15, 20], [50, 100, 150], [1, 2, 3])

आप सरणी के भीतर आइटम को इस प्रकार कॉल कर सकते हैं:

exampleArray2 [1] // रिटर्न [50, 100, 150]

exampleArray2 [1] [0] // रिटर्न 50

तरीकों

नीचे, आप सबसे बुनियादी कार्यों को खोजने जा रहे हैं जो आमतौर पर NumPy के साथ काम करते समय उपयोग किए जाते हैं। यद्यपि बहुत सारे हैं, निम्नलिखित आपको आरंभ करने के लिए पर्याप्त होंगे।

ऐरे निर्माण के तरीके

  • np.arange(0, 10): आइटम के रूप में 0 से 9 तक की संख्या के साथ एकल-आयामी सरणी बनाता है।
  • np.arange(0, 10, 3): 0 से 10 के बीच की संख्या के साथ एक एकल-आयामी सरणी बनाता है जो प्रत्येक तीसरे पर कूदता है। आइटम के रूप में 0,3,6,9 के साथ एक सरणी देता है।
  • np.zeros(3): प्रत्येक आइटम के लिए मान 0 के साथ एक 3 आइटम सरणी बनाता है।
  • np.ones(3): प्रत्येक आइटम के लिए मान 1 के साथ एक 3 आइटम सरणी बनाता है।
  • np.linspace(0,20,5): बीच में समान चरणों के साथ 0 और 20 के बीच 5 नंबर लेता है। आइटम 0, 5, 10, 15, 20 की एक सरणी देता है। ध्यान रखें कि अगर हमने कहा कि 6 आइटम का चयन करें, तो बीच में समान स्थान सुनिश्चित करने के लिए आइटम पूर्णांक के बजाय फ़्लोट होंगे।
  • np.eye(3): 3 कॉलम और 3 पंक्तियों के साथ एक पहचान मैट्रिक्स बनाता है। विकर्ण मान सभी 1 लौटाते हैं और अन्य सभी मान 0 लौटाते हैं।
  • np.random.randn(5): आइटम के रूप में 5 यादृच्छिक संख्याओं के साथ एकल-आयामी सरणी बनाता है। संख्याएँ पूर्णांक और/या फ़्लोट, ऋणात्मक और/या धनात्मक प्रकार की हो सकती हैं।
  • np.random.randn(5,5): आइटम के रूप में 25 यादृच्छिक मानों के साथ 5 पंक्तियों और 5 स्तंभों के साथ एक मैट्रिक्स बनाता है।
  • np.random.randint(1, 10, 2): दो यादृच्छिक संख्याएँ लौटाता है जो 1 से अधिक और 10 से कम हैं।
  • myArray.reshape (5,5): myArray नाम की एकल-आयामी सरणी लेता है और इसे 5 पंक्तियों और 5 कॉलम वाले मैट्रिक्स के रूप में लौटाता है। ध्यान रखें कि अगर सरणी के भीतर पर्याप्त संख्या में आइटम नहीं हैं, उदाहरण के मामले में 5 x 5 = 25 आइटम, यह एक त्रुटि फेंक देगा और काम नहीं करेगा। यह विधि सरणी को स्वयं नहीं बदलेगी बल्कि सरणी के एक परिवर्तित संस्करण को वापस कर देगी।
  • myArray.max (): संख्या सरणी के आइटम के भीतर सबसे बड़ी संख्या देता है।
  • myArray.min (): संख्या सरणी के आइटम के भीतर सबसे छोटी संख्या देता है।
  • myArray.argmax (): संख्या सरणी के आइटम के भीतर सबसे बड़ी संख्या का सूचकांक लौटाता है।
  • myArray.argmin (): संख्या सरणी के आइटम के भीतर सबसे छोटी संख्या का सूचकांक लौटाता है।
  • myArray.shape: किसी सरणी का आकार लौटाता है। यदि सरणी 10 आइटमों के साथ एकल आयाम वाली है, तो यह (10, ) वापस आ जाएगी। यदि सरणी एक मैट्रिक्स है जिसमें 5 कॉलम और 6 पंक्तियाँ हैं, तो यह (5,6) वापस आ जाएगी। ध्यान रखें कि यह कोई फ़ंक्शन नहीं है, बल्कि एक विशेषता है, इसलिए आकृति को कॉल करते समय कोई पैरांथेस नहीं होता है।
  • myArray [5]: 5 की इंडेक्स संख्या के साथ सरणी से आइटम लौटाता है
  • myArray [3: 5]: इंडेक्स नंबर 3 और 5 के बीच आइटम लौटाता है, जिसमें इंडेक्स 3 के साथ आइटम शामिल है लेकिन 5 शामिल नहीं है।
  • myArray [3: 5] = -3: इंडेक्स 3 और पांच से -3 के बीच वस्तुओं का मान बदलता है।
  • myArray [:] = 30: सरणी के भीतर सभी वस्तुओं के मान को एक-एक करके 30 एक में बदलता है।
  • myArray = 30: myArray के प्रकार को सरणी से पूर्णांक में बदलता है और इसके मान को 30 पर सेट करता है।
  • newArray = myArray.copy (): myArray की एक प्रति बनाता है और इसे newArray पर सेट करता है। ध्यान दें कि यदि आपने .copy() विधि का उपयोग नहीं किया है, तो आप myArray पर प्रतिबिंबित होने वाले नए ऐरे में किए गए सभी परिवर्तन भी देखेंगे।

आइए एक मैट्रिक्स को myMatrix = ( [5, 10, 15] , [1, 2, 3] , [0, 0, 0] ) के रूप में घोषित करें।

  • myMatrix [0]: आइटम को पंक्ति अनुक्रमणिका 0 के साथ लौटाता है, जो एक सरणी है। इसलिए रिटर्न [5, 10, 15]।
  • myMatrix [0] [1]: आइटम को कॉलम इंडेक्स 1 और पंक्ति इंडेक्स 0 के साथ लौटाता है, इसलिए इस मामले में मान 10 लौटाता है।
  • myMatrix [0,1]: आइटम को कॉलम इंडेक्स 1 और पंक्ति इंडेक्स 0 के साथ लौटाता है, इसलिए इस मामले में मान 10 लौटाता है।
  • myMatrix [1, 1:]: हमेशा की तरह इंडेक्स 1 के साथ पंक्ति लेता है, लेकिन 1 से शुरू होने वाले कॉलम इंडेक्स के साथ आइटम लौटाता है (1 सहित ब्याह हमेशा पायथन के साथ काम करता है) इसलिए इस मामले में रिटर्न [2, 3]।
  • myMatrix [ [0,1] ]: इंडेक्स 0 और 1 का मान लौटाता है, इसलिए हमारे मामले में रिटर्न ( [5, 10, 15] , [1, 2, 3] )।

आइए myArray को myArray = [5,10,15,20] के रूप में कार्य करने के लिए परिभाषित करें।

  • myArray> 10: स्थिति के आधार पर सही और गलत निर्णय की एक सरणी लौटाता है, इसलिए हमारे मामले में [गलत, झूठा, सच्चा, सच्चा] लौटता है। ध्यान दें कि tihs myArray के मूल मान को नहीं बदलता है बल्कि इसके बजाय एक नया रास्ता बनाता है।
  • myArray [myArray> 10]: उन वस्तुओं के साथ एक नई सरणी देता है जो वास्तव में [15, 20] की स्थिति का पालन करते हैं।
  • myArray + myArray: एक सरणी देता है जहां मानों को इंडेक्स द्वारा इंडेक्स किया जाता है और संबंधित इंडेक्स पर रखा जाता है, हमारे मामले में [10, 20, 30, 40] देता है।
  • myArray - myArray: एक सरणी देता है जहां मूल्यों को इंडेक्स द्वारा घटाया जाता है और संबंधित इंडेक्स पर रखा जाता है, हमारे मामले में रिटर्न [0, 0, 0, 0] होता है।
  • myArray/myArray: एक सरणी देता है जहां मानों को इंडेक्स द्वारा इंडेक्स विभाजित किया जाता है और संबंधित इंडेक्स पर रखा जाता है, हमारे मामले में रिटर्न [1,1,1,1] होता है। ध्यान दें कि यदि किसी इंडेक्स में मान के रूप में 0 था, क्योंकि संख्या को 0 से विभाजित नहीं किया जा सकता है, तो यह उस इंडेक्स के लिए चेतावनी और रिटर्न नैन फेंक देगा लेकिन अन्य इंडेक्स को सामान्य रूप से विभाजित करेगा।
  • np.sqrt(myArray): वर्गमूल के साथ एक सरणी देता है यदि प्रत्येक मान समान अनुक्रमणिका पर हो। तो अगर myArray [25, 16, 36] था तो फ़ंक्शन वापस आ जाएगा [5, 4, 6]।