पायथन मैट्रिक्स और न्यूमी का परिचय

इस लेख में, हम नेस्टेड सूचियों और NumPy पैकेज का उपयोग करके पायथन मैट्रिस के बारे में जानेंगे।

एक मैट्रिक्स एक दो-आयामी डेटा संरचना है जहां संख्याओं को पंक्तियों और स्तंभों में व्यवस्थित किया जाता है। उदाहरण के लिए:

यह मैट्रिक्स 3x4 है (उच्चारण "तीन बाय चार") मैट्रिक्स क्योंकि इसमें 3 पंक्तियाँ और 4 कॉलम हैं।

पाइथन मैट्रिक्स

अजगर के पास मैट्रिसेस के लिए बिल्ट-इन टाइप नहीं है। हालाँकि, हम किसी सूची की सूची को एक मैट्रिक्स के रूप में मान सकते हैं। उदाहरण के लिए:

 A = ((1, 4, 5), (-5, 8, 9)) 

हम एक सूची की इस सूची को 2 पंक्तियों और 3 कॉलम वाले मैट्रिक्स के रूप में मान सकते हैं।

इस लेख को आगे बढ़ाने से पहले अजगर सूचियों के बारे में अवश्य जान लें।

आइए देखें कि नेस्टेड सूची के साथ कैसे काम करें।

 A = ((1, 4, 5, 12), (-5, 8, 9, 0), (-6, 7, 11, 19)) print("A =", A) print("A(1) =", A(1)) # 2nd row print("A(1)(2) =", A(1)(2)) # 3rd element of 2nd row print("A(0)(-1) =", A(0)(-1)) # Last element of 1st Row column = (); # empty list for row in A: column.append(row(2)) print("3rd column =", column) 

जब हम प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 ए = (1, 4, 5, 12), (-5, 8, 9, 0), (-6, 7, 11, 19)) ए (1) = (-5, 8, 9, 0) A (1) (2) = 9 A (0) (- 1) = 12 3rd कॉलम = (5, 9, 11) 

नेस्टेड सूचियों का उपयोग करके पायथन मैट्रिस से संबंधित कुछ और उदाहरण दिए गए हैं।

  • दो मेट्रिसेस जोड़ें
  • एक मैट्रिक्स का संक्रमण
  • दो मेट्रिसेस को गुणा करें

मैट्रिक्स के रूप में नेस्टेड सूचियों का उपयोग करना सरल कम्प्यूटेशनल कार्यों के लिए काम करता है, हालांकि, पायथन में न्यूमपाइ पैकेज का उपयोग करके मैट्रिस के साथ काम करने का एक बेहतर तरीका है।

न्यूम्पी अर्रे

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

  • यात्रा: NumPy कैसे स्थापित करें?
  • यदि आप विंडोज पर हैं, तो पायथन के एनाकोंडा वितरण को डाउनलोड और इंस्टॉल करें। यह NumPy और डेटा साइंस और मशीन लर्निंग से संबंधित अन्य कई पैकेजों के साथ आता है।

एक बार NumPy स्थापित हो जाने के बाद, आप इसे आयात और उपयोग कर सकते हैं।

NumPy संख्याओं का बहुआयामी सरणी प्रदान करता है (जो वास्तव में एक वस्तु है)। आइए एक उदाहरण लेते हैं:

 import numpy as np a = np.array((1, 2, 3)) print(a) # Output: (1, 2, 3) print(type(a)) # Output: 

जैसा कि आप देख सकते हैं, NumPy की सरणी वर्ग कहा जाता है ndarray

NumPy array कैसे बनायें?

NumPy सरणियों को बनाने के कई तरीके हैं।

1. पूर्णांक, फ़्लोट्स और जटिल संख्याओं की सरणी

 import numpy as np A = np.array(((1, 2, 3), (3, 4, 5))) print(A) A = np.array(((1.1, 2, 3), (3, 4, 5))) # Array of floats print(A) A = np.array(((1, 2, 3), (3, 4, 5)), dtype = complex) # Array of complex numbers print(A) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 ((1 2 3) (3 4 5)) ((1.1 2. 3.) (3. 4. 5.)) ((1. + 0.j 2. + 0.j 3. + 0.j) (3. + 0.j 4. + 0.j 5. + 0.j)) 

2. शून्य और लोगों की सरणी

 import numpy as np zeors_array = np.zeros( (2, 3) ) print(zeors_array) ''' Output: ((0. 0. 0.) (0. 0. 0.)) ''' ones_array = np.ones( (1, 5), dtype=np.int32 ) // specifying dtype print(ones_array) # Output: ((1 1 1 1 1)) 

यहां, हमने dtype32 बिट्स (4 बाइट्स) निर्दिष्ट किए हैं । इसलिए, यह ऐरे से मान ले सकता है ।-2-312-31-1

3. अरेंज () और शेप () का उपयोग करना

 import numpy as np A = np.arange(4) print('A =', A) B = np.arange(12).reshape(2, 6) print('B =', B) ''' Output: A = (0 1 2 3) B = (( 0 1 2 3 4 5) ( 6 7 8 9 10 11)) ''' 

NumPy सरणी बनाने के अन्य तरीकों के बारे में अधिक जानें।

मैट्रिक्स ऑपरेशन

ऊपर, हमने आपको 3 उदाहरण दिए हैं: दो मैट्रिसेस के अलावा, दो मैट्रिसेस का गुणन और एक मैट्रिक्स का स्थानांतरण। हमने उन कार्यक्रमों को लिखने से पहले नेस्टेड सूचियों का उपयोग किया। आइए देखें कि हम समान कार्य का उपयोग कैसे कर सकते हैं।

दो मातृकाओं का जोड़

हम +दो NumPy मैट्रिसेस के संगत तत्वों को जोड़ने के लिए ऑपरेटर का उपयोग करते हैं।

 import numpy as np A = np.array(((2, 4), (5, -6))) B = np.array(((9, -3), (3, 6))) C = A + B # element wise addition print(C) ''' Output: ((11 1) ( 8 0)) '''

दो मैट्रिक्स का गुणन

दो मैट्रिक्स को गुणा करने के लिए, हम dot()विधि का उपयोग करते हैं। और जानें कि numpy.dot कैसे काम करता है।

नोट: * सरणी गुणन (दो सरणियों के संबंधित तत्वों का गुणन) के लिए उपयोग किया जाता है मैट्रिक्स गुणन नहीं।

 import numpy as np A = np.array(((3, 6, 7), (5, -3, 0))) B = np.array(((1, 1), (2, 1), (3, -3))) C = A.dot(B) print(C) ''' Output: (( 36 -12) ( -1 2)) ''' 

एक मैट्रिक्स का संक्रमण

हम एक मैट्रिक्स के स्थानान्तरण की गणना करने के लिए numpy.transpose का उपयोग करते हैं।

 import numpy as np A = np.array(((1, 1), (2, 1), (3, -3))) print(A.transpose()) ''' Output: (( 1 2 3) ( 1 1 -3)) ''' 

जैसा कि आप देख सकते हैं, NumPy ने हमारे काम को बहुत आसान बना दिया है।

मैट्रिक्स तत्वों, पंक्तियों और स्तंभों तक पहुंचें

Access matrix elements

Similar like lists, we can access matrix elements using index. Let's start with a one-dimensional NumPy array.

 import numpy as np A = np.array((2, 4, 6, 8, 10)) print("A(0) =", A(0)) # First element print("A(2) =", A(2)) # Third element print("A(-1) =", A(-1)) # Last element 

When you run the program, the output will be:

 A(0) = 2 A(2) = 6 A(-1) = 10 

Now, let's see how we can access elements of a two-dimensional array (which is basically a matrix).

 import numpy as np A = np.array(((1, 4, 5, 12), (-5, 8, 9, 0), (-6, 7, 11, 19))) # First element of first row print("A(0)(0) =", A(0)(0)) # Third element of second row print("A(1)(2) =", A(1)(2)) # Last element of last row print("A(-1)(-1) =", A(-1)(-1)) 

When we run the program, the output will be:

 A(0)(0) = 1 A(1)(2) = 9 A(-1)(-1) = 19 

Access rows of a Matrix

 import numpy as np A = np.array(((1, 4, 5, 12), (-5, 8, 9, 0), (-6, 7, 11, 19))) print("A(0) =", A(0)) # First Row print("A(2) =", A(2)) # Third Row print("A(-1) =", A(-1)) # Last Row (3rd row in this case)

When we run the program, the output will be:

 A(0) = (1, 4, 5, 12) A(2) = (-6, 7, 11, 19) A(-1) = (-6, 7, 11, 19) 

Access columns of a Matrix

 import numpy as np A = np.array(((1, 4, 5, 12), (-5, 8, 9, 0), (-6, 7, 11, 19))) print("A(:,0) =",A(:,0)) # First Column print("A(:,3) =", A(:,3)) # Fourth Column print("A(:,-1) =", A(:,-1)) # Last Column (4th column in this case) 

When we run the program, the output will be:

 A(:,0) = ( 1 -5 -6) A(:,3) = (12 0 19) A(:,-1) = (12 0 19) 

If you don't know how this above code works, read slicing of a matrix section of this article.

Slicing of a Matrix

Slicing of a one-dimensional NumPy array is similar to a list. If you don't know how slicing for a list works, visit Understanding Python's slice notation.

आइए एक उदाहरण लेते हैं:

 import numpy as np letters = np.array((1, 3, 5, 7, 9, 7, 5)) # 3rd to 5th elements print(letters(2:5)) # Output: (5, 7, 9) # 1st to 4th elements print(letters(:-5)) # Output: (1, 3) # 6th to last elements print(letters(5:)) # Output:(7, 5) # 1st to last elements print(letters(:)) # Output:(1, 3, 5, 7, 9, 7, 5) # reversing a list print(letters(::-1)) # Output:(5, 7, 9, 7, 5, 3, 1) 

अब, देखते हैं कि हम एक मैट्रिक्स को कैसे स्लाइस कर सकते हैं।

 import numpy as np A = np.array(((1, 4, 5, 12, 14), (-5, 8, 9, 0, 17), (-6, 7, 11, 19, 21))) print(A(:2, :4)) # two rows, four columns ''' Output: (( 1 4 5 12) (-5 8 9 0)) ''' print(A(:1,)) # first row, all columns ''' Output: (( 1 4 5 12 14)) ''' print(A(:,2)) # all rows, second column ''' Output: ( 5 9 11) ''' print(A(:, 2:5)) # all rows, third to the fifth column '''Output: (( 5 12 14) ( 9 0 17) (11 19 21)) ''' 

जैसा कि आप देख सकते हैं, NumPy (नेस्टेड सूचियों के बजाय) का उपयोग करके मैट्रिस के साथ काम करना बहुत आसान हो जाता है, और हमने मूल बातें भी नहीं देखी हैं। हमारा सुझाव है कि यदि आप डेटा साइंस / एनालिटिक्स के लिए पायथन का उपयोग करने की कोशिश कर रहे हैं, तो आप विस्तार से नुम्पी पैकेज का पता लगाएं।

NumPy संसाधन आपको उपयोगी मिल सकते हैं:

  • NumPy ट्यूटोरियल
  • NumPy संदर्भ

दिलचस्प लेख...