Python मैट्रिक्स: ट्रांसपोज़, गुणन, NumPy एरेज़ उदाहरण

एचएमबी क्या है? Python आव्यूह?

A Python मैट्रिक्स पंक्तियों और स्तंभों में संग्रहीत डेटा की एक विशेष दो-आयामी आयताकार सरणी है। मैट्रिक्स में डेटा संख्या, स्ट्रिंग, अभिव्यक्ति, प्रतीक आदि हो सकते हैं। मैट्रिक्स महत्वपूर्ण डेटा संरचनाओं में से एक है जिसका उपयोग गणितीय और वैज्ञानिक गणनाओं में किया जा सकता है।

कैसे करें Python मैट्रिसेस काम करते हैं?

मैट्रिक्स प्रारूप में द्वि-आयामी सरणी के अंदर डेटा इस प्रकार दिखता है:

Python मैट्रिक्स

चरण 1) यह 2×2 मैट्रिक्स दिखाता है। इसमें दो पंक्तियाँ और 2 कॉलम हैं। मैट्रिक्स के अंदर डेटा संख्याएँ हैं। पंक्ति 1 के मान 2,3 हैं, और पंक्ति 2 के मान 4,5 हैं। कॉलम, यानी, कॉलम 1 के मान 2,4 हैं, और कॉलम 2 के मान 3,5 हैं।

चरण 2) यह 2×3 मैट्रिक्स दिखाता है। इसमें दो पंक्तियाँ और तीन कॉलम हैं। पहली पंक्ति के अंदर डेटा, यानी पंक्ति 1, के मान 2,3,4 हैं, और पंक्ति 2 के मान 5,6,7 हैं। कॉलम col1 के मान 2,5 हैं, col2 के मान 3,6 हैं, और col3 के मान 4,7 हैं।

तो इसी तरह, आप अपने डेटा को nxn मैट्रिक्स के अंदर संग्रहीत कर सकते हैं Pythonमैट्रिक्स पर बहुत सारे ऑपरेशन किए जा सकते हैं जैसे जोड़, घटाव, गुणा आदि।

Python मैट्रिक्स डेटा प्रकार को लागू करने का कोई सीधा तरीका नहीं है।

पायथन मैट्रिक्स सरणियों का उपयोग करता है, और इसे कार्यान्वित किया जा सकता है।

  • बनाओ Python नेस्टेड सूची डेटा प्रकार का उपयोग करके मैट्रिक्स
  • बनाएं Python मैट्रिक्स से Arrays का उपयोग Python Numpy पैकेज

बनाएं Python नेस्टेड सूची डेटा प्रकार का उपयोग करके मैट्रिक्स

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

हम एक 3×3 मैट्रिक्स बनाएंगे, जैसा कि नीचे दिखाया गया है:

बनाएं Python नेस्टेड सूची का उपयोग करके मैट्रिक्स

  • मैट्रिक्स में 3 पंक्तियाँ और 3 कॉलम हैं।
  • सूची प्रारूप में पहली पंक्ति इस प्रकार होगी: [8,14,-6]
  • सूची में दूसरी पंक्ति होगी: [12,7,4]
  • सूची में तीसरी पंक्ति होगी: [-11,3,21]

सभी पंक्तियों और स्तंभों वाली सूची के अंदर मैट्रिक्स नीचे दिखाया गया है:

List = [[Row1], 
           [Row2], 
           [Row3]
           ...
           [RowN]]

अतः ऊपर सूचीबद्ध मैट्रिक्स के अनुसार मैट्रिक्स डेटा के साथ सूची प्रकार निम्नानुसार है:

M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]

अंदर का डेटा पढ़ने के लिए Python सूची का उपयोग करके मैट्रिक्स.

हम ऊपर परिभाषित मैट्रिक्स का उपयोग करेंगे। उदाहरण डेटा को पढ़ेगा, मैट्रिक्स को प्रिंट करेगा, प्रत्येक पंक्ति से अंतिम तत्व प्रदर्शित करेगा।

उदाहरण: मैट्रिक्स प्रिंट करने के लिए

M1 = [[8, 14, -6], 
           [12,7,4], 
           [-11,3,21]]

#To print the matrix
print(M1)

आउटपुट:

The Matrix M1 =  [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]

उदाहरण 2: प्रत्येक पंक्ति से अंतिम तत्व पढ़ने के लिए

M1 = [[8, 14, -6],
           [12,7,4], 
           [-11,3,21]]

matrix_length = len(M1)

#To read the last element from each row.
for i in range(matrix_length):
    print(M1[i][-1])

आउटपुट:

-6
4
21

उदाहरण 3: मैट्रिक्स में पंक्तियों को प्रिंट करने के लिए

M1 = [[8, 14, -6],
           [12,7,4], 
           [-11,3,21]]

matrix_length = len(M1)

#To print the rows in the Matrix
for i in range(matrix_length):
    print(M1[i])

आउटपुट:

[8, 14, -6]
[12, 7, 4]
[-11, 3, 21]

नेस्टेड सूची का उपयोग करके मैट्रिसेस जोड़ना

हम दो दिए गए मैट्रिसेस को आसानी से जोड़ सकते हैं। यहाँ मैट्रिसेस सूची के रूप में होंगे। आइए एक ऐसे उदाहरण पर काम करें जो दिए गए मैट्रिसेस को जोड़ने का ध्यान रखेगा।

मैट्रिक्स 1:

M1 = [[8, 14, -6],
           [12,7,4], 
           [-11,3,21]]

मैट्रिक्स 2 :

M2 = [[3, 16, -6],
           [9,7,-4], 
           [-1,3,13]]

लास्ट एक मैट्रिक्स आरंभ करेगा जो M1 + M2 के परिणाम को संग्रहीत करेगा।

मैट्रिक्स 3 :

M3  = [[0,0,0],
            [0,0,0],
            [0,0,0]]

उदाहरण: मैट्रिसेस जोड़ना

इसके अतिरिक्त, मैट्रिसेस फॉर-लूप का उपयोग करेंगे जो दिए गए दोनों मैट्रिसेस के माध्यम से लूप करेगा।

M1 = [[8, 14, -6], 
      [12,7,4], 
      [-11,3,21]]

M2 = [[3, 16, -6],
           [9,7,-4], 
           [-1,3,13]]

M3  = [[0,0,0],
       [0,0,0],
       [0,0,0]]
matrix_length = len(M1)

#To Add M1 and M2 matrices
for i in range(len(M1)):
for k in range(len(M2)):
        M3[i][k] = M1[i][k] + M2[i][k]

#To Print the matrix
print("The sum of Matrix M1 and M2 = ", M3)

आउटपुट:

The sum of Matrix M1 and M2 =  [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]

नेस्टेड सूची का उपयोग करके मैट्रिसेस का गुणन

मैट्रिसेस को गुणा करने के लिए, हम दोनों मैट्रिसेस पर फॉर-लूप का उपयोग कर सकते हैं जैसा कि नीचे दिए गए कोड में दिखाया गया है:

M1 = [[8, 14, -6], 
      [12,7,4], 
      [-11,3,21]]

M2 = [[3, 16, -6],
           [9,7,-4], 
           [-1,3,13]]

M3  = [[0,0,0],
       [0,0,0],
       [0,0,0]]

matrix_length = len(M1)

#To Multiply M1 and M2 matrices
for i in range(len(M1)):
for k in range(len(M2)):
        M3[i][k] = M1[i][k] * M2[i][k]

#To Print the matrix
print("The multiplication of Matrix M1 and M2 = ", M3)

आउटपुट:

The multiplication of Matrix M1 and M2 =  [[24, 224, 36], [108, 49, -16], [11, 9, 273]]

बनाएं Python मैट्रिक्स से Arrays का उपयोग Python Numpy पैकेज

पायथन लाइब्रेरी Numpy एरे से निपटने में मदद करती है। Numpy लिस्ट की तुलना में एरे को थोड़ा तेज़ी से प्रोसेस करता है।

Numpy के साथ काम करने के लिए, आपको पहले इसे इंस्टॉल करना होगा। Numpy को इंस्टॉल करने के लिए नीचे दिए गए चरणों का पालन करें।

चरण 1) Numpy को स्थापित करने का आदेश है:

pip install NumPy

चरण 2) अपने कोड में Numpy का उपयोग करने के लिए, आपको इसे आयात करना होगा।

import NumPy

चरण 3) आप Numpy को उपनाम का उपयोग करके भी आयात कर सकते हैं, जैसा कि नीचे दिखाया गया है:

import NumPy as np

हम पायथन मैट्रिक्स बनाने के लिए Numpy से array() विधि का उपयोग करने जा रहे हैं।

उदाहरण : Numpy में Array बनाने के लिए Python मैट्रिक्स

import numpy as np
M1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])
print(M1)

आउटपुट:

[[  5 -10  15]
 [  3  -6   9]
 [ -4   8  12]]

मैट्रिक्स OperaNumpy.Array() का उपयोग करके

मैट्रिक्स ऑपरेशन जो किया जा सकता है वह है जोड़, घटाव, गुणा, ट्रांसपोज़, मैट्रिक्स की पंक्तियों, स्तंभों को पढ़ना, मैट्रिक्स को स्लाइस करना, आदि। सभी उदाहरणों में, हम array() विधि का उपयोग करने जा रहे हैं।

मैट्रिक्स जोड़

मैट्रिक्स पर योग करने के लिए, हम numpy.array() का उपयोग करके दो मैट्रिसेस बनाएंगे और उन्हें (+) ऑपरेटर का उपयोग करके जोड़ेंगे।

उदाहरण:

import numpy as np

M1 = np.array([[3, 6, 9], [5, -10, 15], [-7, 14, 21]])
M2 = np.array([[9, -18, 27], [11, 22, 33], [13, -26, 39]])
M3 = M1 + M2  
print(M3)

आउटपुट:

[[ 12 -12  36]
 [ 16  12  48]
 [  6 -12  60]]

मैट्रिक्स घटाव

मैट्रिक्स पर घटाव करने के लिए, हम numpy.array() का उपयोग करके दो मैट्रिसेस बनाएंगे और (-) ऑपरेटर का उपयोग करके उन्हें घटाएंगे।

उदाहरण:

import numpy as np

M1 = np.array([[3, 6, 9], [5, -10, 15], [-7, 14, 21]])
M2 = np.array([[9, -18, 27], [11, 22, 33], [13, -26, 39]])
M3 = M1 - M2  
print(M3)

आउटपुट:

[[ -6  24 -18]
 [ -6 -32 -18]
 [-20  40 -18]]

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

सबसे पहले numpy.arary() का उपयोग करके दो मैट्रिसेस बनाए जाएँगे। उन्हें गुणा करने के लिए, आप numpy dot() विधि का उपयोग कर सकते हैं। Numpy.dot() मैट्रिक्स M1 और M2 का डॉट उत्पाद है। Numpy.dot() 2D सरणियों को संभालता है और मैट्रिक्स गुणन करता है।

उदाहरण:

import numpy as np

M1 = np.array([[3, 6], [5, -10]])
M2 = np.array([[9, -18], [11, 22]])
M3 = M1.dot(M2)  
print(M3)

आउटपुट:

[[  93   78]
 [ -65 -310]]

मैट्रिक्स ट्रांसपोज़

मैट्रिक्स के ट्रांसपोज़ की गणना पंक्तियों को कॉलम में और कॉलम को पंक्तियों में बदलकर की जाती है। मैट्रिक्स के ट्रांसपोज़ की गणना करने के लिए Numpy के transpose() फ़ंक्शन का उपयोग किया जा सकता है।

उदाहरण:

import numpy as np

M1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])
M2 = M1.transpose()

print(M2)

आउटपुट:

[[  3   5   4]
 [  6 -10   8]
 [  9  15  12]]

मैट्रिक्स का स्लाइसिंग

स्लाइसिंग आपको दिए गए प्रारंभ/अंत सूचकांक के आधार पर मैट्रिक्स से तत्व लौटाएगा।

  • स्लाइसिंग के लिए सिंटैक्स है – [प्रारंभ:अंत]
  • यदि आरंभ सूचकांक नहीं दिया गया है, तो इसे 0 माना जाता है। उदाहरण के लिए [:5], इसका अर्थ [0:5] है।
  • यदि अंत पारित नहीं किया जाता है, तो इसे सरणी की लंबाई के रूप में लिया जाएगा।
  • यदि प्रारंभ/अंत में ऋणात्मक मान हैं, तो स्लाइसिंग सरणी के अंत से की जाएगी।

मैट्रिक्स पर स्लाइसिंग पर काम करने से पहले, आइए पहले यह समझें कि सरल ऐरे पर स्लाइस कैसे लागू किया जाता है।

import numpy as np

arr = np.array([2,4,6,8,10,12,14,16])
print(arr[3:6]) # will print the elements from 3 to 5
print(arr[:5]) # will print the elements from 0 to 4
print(arr[2:]) # will print the elements from 2 to length of the array.
print(arr[-5:-1]) # will print from the end i.e. -5 to -2
print(arr[:-1]) # will print from end i.e. 0 to -2

आउटपुट:

[ 8 10 12]
[ 2  4  6  8 10]
[ 6  8 10 12 14 16]
[ 8 10 12 14]
[ 2  4  6  8 10 12 14]

अब मैट्रिक्स पर स्लाइसिंग लागू करते हैं। मैट्रिक्स पर स्लाइसिंग करने के लिए

वाक्यविन्यास M1[पंक्ति_प्रारंभ:पंक्ति_अंत, col_प्रारंभ:col_end] होगा

  • पहला प्रारंभ/अंत पंक्ति के लिए होगा, अर्थात मैट्रिक्स की पंक्तियों का चयन करने के लिए।
  • दूसरा प्रारंभ/अंत कॉलम के लिए होगा, अर्थात मैट्रिक्स के कॉलमों का चयन करना।

मैट्रिक्स M1 t जिसका हम उपयोग करने जा रहे हैं वह इस प्रकार है:

M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])

कुल 4 पंक्तियाँ हैं। सूचकांक 0 से 3 तक शुरू होता है। 0th पंक्ति [2,4,6,8,10], 1 हैst पंक्ति [3,6,9,-12,-15] के बाद 2 हैnd और 3rd.

मैट्रिक्स M1 में 5 कॉलम हैं। इंडेक्स 0 से 4 तक शुरू होता है।th कॉलम के मान [2,3,4,5], 1 हैंst स्तंभों में मान [4,6,8,-10] हैं और उसके बाद 2 हैंnd, 3rd, 4th, और 5th.

यहाँ एक उदाहरण दिया गया है जो स्लाइसिंग का उपयोग करके मैट्रिक्स से पंक्तियों और स्तंभों का डेटा प्राप्त करने का तरीका दिखाता है। उदाहरण में, हम 1 प्रिंट कर रहे हैंst और 2nd पंक्ति के लिए, और कॉलम के लिए, हमें पहला, दूसरा और तीसरा कॉलम चाहिए। उस आउटपुट को पाने के लिए हमने इस्तेमाल किया है: M1[1:3, 1:4]

उदाहरण:

import numpy as np

M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[1:3, 1:4]) # For 1:3, it will give first and second row.
#The columns will be taken from first to third.

आउटपुट:

[[  6   9 -12]
 [  8  12  16]]

उदाहरण : सभी पंक्तियों और तीसरे कॉलम को प्रिंट करने के लिए

import numpy as np
M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[:,3]) # This will print all rows and the third column data.

आउटपुट:

[  8 -12  16 -20]

उदाहरण: पहली पंक्ति और सभी कॉलम प्रिंट करने के लिए

import numpy as np

M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[:1,]) # This will print first row and all columns

आउटपुट:

[[ 2  4  6  8 10]]

उदाहरण: पहली तीन पंक्तियाँ और पहले 2 कॉलम प्रिंट करने के लिए

import numpy as np

M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[:3,:2])

आउटपुट:

[[2 4]
 [3 6]
 [4 8]]

NumPy मैट्रिक्स तक पहुँचना

हमने देखा है कि स्लाइसिंग कैसे काम करती है। इसे ध्यान में रखते हुए, हम मैट्रिक्स से पंक्तियाँ और कॉलम कैसे प्राप्त करेंगे।

मैट्रिक्स की पंक्तियों को प्रिंट करने के लिए

उदाहरण में मैट्रिक्स की पंक्तियाँ प्रिंट होंगी।

उदाहरण:

import numpy as np
M1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])
print(M1[0])  #first row
print(M1[1]) # the second row
print(M1[-1]) # -1 will print the last row

आउटपुट:

[3 6 9]
[  5 -10  15]
[ 4  8 12]

अंतिम पंक्ति प्राप्त करने के लिए, आप इंडेक्स या -1 का उपयोग कर सकते हैं। उदाहरण के लिए, मैट्रिक्स में 3 पंक्तियाँ हैं,

तो M1[0] आपको पहली पंक्ति देगा,

M1[1] आपको दूसरी पंक्ति देगा

M1[2] या M1[-1] आपको तीसरी पंक्ति या अंतिम पंक्ति देगा.

मैट्रिक्स के कॉलम प्रिंट करने के लिए

import numpy as np
M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[:,0]) # Will print the first Column
print(M1[:,3]) # Will  print the third Column
print(M1[:,-1]) # -1 will give you the last column

आउटपुट:

[2 3 4 5]
[  8 -12  16 -20]
[ 10 -15 -20  25]

सारांश

  • A Python मैट्रिक्स पंक्तियों और स्तंभों में संग्रहीत डेटा की एक विशेष दो-आयामी आयताकार सरणी है। मैट्रिक्स में डेटा संख्या, स्ट्रिंग, अभिव्यक्ति, प्रतीक आदि हो सकते हैं। मैट्रिक्स महत्वपूर्ण डेटा संरचनाओं में से एक है जिसका उपयोग गणितीय और वैज्ञानिक गणनाओं में किया जा सकता है।
  • Python मैट्रिक्स डेटा प्रकार को लागू करने का कोई सीधा तरीका नहीं है। Python मैट्रिक्स को नेस्टेड सूची डेटा प्रकार और numpy लाइब्रेरी का उपयोग करके बनाया जा सकता है।
  • पायथन लाइब्रेरी Numpy एरे से निपटने में मदद करती है। Numpy लिस्ट की तुलना में एरे को थोड़ा तेज़ी से प्रोसेस करता है।
  • मैट्रिक्स ऑपरेशन जो किया जा सकता है वह है जोड़, घटाव, गुणा, ट्रांसपोज़, मैट्रिक्स की पंक्तियों, स्तंभों को पढ़ना, मैट्रिक्स को स्लाइस करना आदि।
  • दो मैट्रिसेस को जोड़ने के लिए, आप numpy.array() का उपयोग कर सकते हैं और उन्हें (+) ऑपरेटर का उपयोग करके जोड़ सकते हैं।
  • उन्हें गुणा करने के लिए, आप numpy dot() विधि का उपयोग कर सकते हैं। Numpy.dot() मैट्रिक्स M1 और M2 का डॉट उत्पाद है। Numpy.dot() 2D सरणियों को संभालता है और मैट्रिक्स गुणन करता है।
  • मैट्रिक्स के ट्रांसपोज़ की गणना पंक्तियों को कॉलम में और कॉलम को पंक्तियों में बदलकर की जाती है। मैट्रिक्स के ट्रांसपोज़ की गणना करने के लिए Numpy के transpose() फ़ंक्शन का उपयोग किया जा सकता है।
  • मैट्रिक्स की स्लाइसिंग आपको दिए गए प्रारंभ/अंत सूचकांक के आधार पर तत्व लौटाएगी।