Python Mátrix: Transzponálás, Szorzás, NumPy tömbök Példák

Mi a Python Mátrix?

A Python A mátrix sorokban és oszlopokban tárolt adatok speciális, kétdimenziós téglalap alakú tömbje. A mátrixban található adatok lehetnek számok, karakterláncok, kifejezések, szimbólumok stb. A mátrix az egyik fontos adatstruktúra, amely matematikai és tudományos számításokban használható.

Hogyan Python A mátrixok működnek?

A kétdimenziós tömbön belüli adatok mátrix formátumban a következőképpen néznek ki:

Python Mátrix

Step 1) 2×2-es mátrixot mutat. Két sora és 2 oszlopa van. A mátrixon belüli adatok számok. Az 1. sor értéke 2,3, a 2. sor pedig 4,5. Az oszlopok, azaz az 1. oszlop értéke 2,4, a col2 pedig 3,5.

Step 2) 2×3-as mátrixot mutat. Két sora és három oszlopa van. Az első sorban lévő adatok, azaz az 1. sor értéke 2,3,4, a 2. sor értéke pedig 5,6,7. A col1 oszlop értéke 2,5, a col2 értéke 3,6, a col3 pedig 4,7.

Tehát hasonló módon tárolhatja adatait az nxn mátrixban Python. A mátrixszerű összeadáson, kivonáson, szorzáson sok műveletet lehet elvégezni.

Python nem rendelkezik egyszerű módszerrel a mátrix adattípus megvalósítására.

A python mátrix tömböket használ, és ugyanez megvalósítható.

  • Hozzon létre egy Python Mátrix a beágyazott lista adattípust használva
  • Teremt Python Mátrix segítségével tömbök innen Python Dögös csomag

Teremt Python Beágyazott lista adattípust használó mátrix

In Python, a tömbök a lista adattípussal vannak ábrázolva. Tehát most a listát fogja használni egy python mátrix létrehozásához.

Létrehozunk egy 3×3-as mátrixot az alábbiak szerint:

Teremt Python Mátrix beágyazott listát használva

  • A mátrix 3 sorból és 3 oszlopból áll.
  • A listaformátum első sora a következő lesz: [8,14,-6]
  • A lista második sora a következő lesz: [12,7,4]
  • A lista harmadik sora a következő lesz: [-11,3,21]

Az összes sort és oszlopot tartalmazó listán belüli mátrix a következő:

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

Tehát a fent felsorolt ​​mátrix szerint a mátrixadatokat tartalmazó listatípus a következő:

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

A belső adatok olvasásához Python Mátrix lista segítségével.

A fent meghatározott mátrixot fogjuk használni. A példa beolvassa az adatokat, kinyomtatja a mátrixot, és minden sorból megjeleníti az utolsó elemet.

Példa: A mátrix nyomtatása

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

#To print the matrix
print(M1)

output:

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

2. példa: Minden sor utolsó elemének kiolvasása

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])

output:

-6
4
21

3. példa: A mátrix sorainak kinyomtatása

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])

output:

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

Mátrixok hozzáadása beágyazott lista segítségével

Két megadott mátrixot könnyen összeadhatunk. Az itt található mátrixok listás formában lesznek. Dolgozzunk egy példán, amely gondoskodik az adott mátrixok összeadásáról.

Mátrix 1:

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

Mátrix 2:

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

A Last inicializál egy mátrixot, amely az M1 + M2 eredményét tárolja.

Mátrix 3:

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

Példa: Mátrixok hozzáadása

Hozzáadásként a mátrixok egy for-hurkot használnak, amely mindkét megadott mátrixon áthalad.

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)

output:

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

Mátrixok szorzása beágyazott lista segítségével

A mátrixok szorzásához mindkét mátrixon használhatjuk a for-hurkot, ahogy az alábbi kódban látható:

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)

output:

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

Teremt Python Mátrix segítségével tömbök innen Python Dögös csomag

A Numpy python könyvtár segít a tömbök kezelésében. A Numpy a listához képest kicsit gyorsabban dolgoz fel egy tömböt.

A Numpy használatához először telepítenie kell. Kövesse az alábbi lépéseket a Numpy telepítéséhez.

Step 1) A Numpy telepítésének parancsa a következő:

pip install NumPy

Step 2) A Numpy használatához a kódban importálnia kell azt.

import NumPy

Step 3) A Numpy-t alias használatával is importálhatja, az alábbiak szerint:

import NumPy as np

A Numpy array() metódusát fogjuk használni egy python mátrix létrehozásához.

Példa: Létrehozandó tömb Numpy-ban Python Mátrix

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

output:

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

Mátrix Operaa Numpy.Array() használatával

A végrehajtható mátrixművelet az összeadás, kivonás, szorzás, transzponálás, a mátrix sorainak, oszlopainak kiolvasása, a mátrix felvágása stb. Minden példában array() metódust fogunk használni.

Mátrix kiegészítés

A mátrix összeadása érdekében két mátrixot hozunk létre a numpy.array() segítségével, és hozzáadjuk őket a (+) operátorral.

Példa:

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)

output:

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

Mátrix kivonás

A mátrix kivonásának végrehajtásához két mátrixot hozunk létre a numpy.array() segítségével, és kivonjuk őket a (-) operátor segítségével.

Példa:

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)

output:

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

Mátrixszorzás

Először két mátrixot hoz létre a numpy.arary() segítségével. Az akarat szorzásához használhatja a numpy dot() metódust. A Numpy.dot() az M1 és M2 mátrix pontszorzata. A Numpy.dot() kezeli a 2D tömböket és mátrixszorzásokat hajt végre.

Példa:

import numpy as np

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

output:

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

Mátrix transzponálás

A mátrix transzponálását úgy számítjuk ki, hogy a sorokat oszlopként, az oszlopokat pedig sorként módosítjuk. A Numpy transpose() függvénye használható egy mátrix transzponálásának kiszámítására.

Példa:

import numpy as np

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

print(M2)

output:

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

Mátrix szeletelése

A szeletelés visszaadja a mátrix elemeit a megadott kezdő/végi index alapján.

  • A szeletelés szintaxisa: [start:end]
  • Ha a kezdőindex nincs megadva, akkor azt 0-nak tekintjük. Például [:5], ez azt jelenti, hogy [0:5].
  • Ha a végét nem adjuk át, akkor ez a tömb hosszának számít.
  • Ha a kezdet/vége negatív értékekkel rendelkezik, akkor a szeletelés a tömb végétől fog történni.

Mielőtt a mátrixon való szeletelésen dolgoznánk, először is ismerjük meg, hogyan alkalmazhatunk szeletet egy egyszerű tömbön.

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

output:

[ 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]

Most hajtsuk végre a szeletelést a mátrixon. Szeletelés végrehajtása mátrixon

a szintaxis a következő lesz: M1[sor_kezdete:sor_vége, col_start:oszlop_vége]

  • Az első eleje/vége a soré lesz, azaz a mátrix sorainak kijelölése.
  • A második kezdés/vége az oszlopé lesz, azaz a mátrix oszlopainak kijelölése.

Az M1 mátrix, amelyet használni fogunk, a következő:

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

Összesen 4 sor van. Az index 0-tól 3-ig kezdődik. A 0th sor a [2,4,6,8,10], 1st a sor [3,6,9,-12,-15], amelyet 2 követnd és 3rd.

Az M1 mátrixnak 5 oszlopa van. Az index 0-tól 4-ig kezdődik. A 0th oszlop értékei [2,3,4,5], 1st az oszlopok értékei [4,6,8,-10], majd 2nd, 3rd, 4th, és az 5th.

Íme egy példa, amely bemutatja, hogyan lehet lekérni a sorok és oszlopok adatait a mátrixból szeleteléssel. A példában kinyomtatjuk az 1st és 2nd sor, oszlopok esetén pedig az első, második és harmadik oszlopot szeretnénk. A kimenet eléréséhez a következőt használtuk: M1[1:3, 1:4]

Példa:

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.

output:

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

Példa: Az összes sor és harmadik oszlop kinyomtatása

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.

output:

[  8 -12  16 -20]

Példa: Az első sor és az összes oszlop kinyomtatása

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

output:

[[ 2  4  6  8 10]]

Példa: Az első három sor és az első 2 oszlop kinyomtatása

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])

output:

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

A NumPy Matrix elérése

Láttuk, hogyan működik a szeletelés. Ezt figyelembe véve meg fogjuk tudni, hogyan kapjuk meg a sorokat és oszlopokat a mátrixból.

A mátrix sorainak kinyomtatásához

A példában kinyomtatja a mátrix sorait.

Példa:

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

output:

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

Az utolsó sor eléréséhez használhatja az indexet vagy a -1-et. Például a mátrixnak 3 sora van,

így az M1[0] adja az első sort,

Az M1[1] a második sort adja

Az M1[2] vagy M1[-1] a harmadik vagy az utolsó sort adja.

A mátrix oszlopainak kinyomtatása

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

output:

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

Összegzésként

  • A Python A mátrix sorokban és oszlopokban tárolt adatok speciális, kétdimenziós téglalap alakú tömbje. A mátrixban található adatok lehetnek számok, karakterláncok, kifejezések, szimbólumok stb. A mátrix az egyik fontos adatstruktúra, amely matematikai és tudományos számításokban használható.
  • Python nem rendelkezik egyszerű módszerrel a mátrix adattípus megvalósítására. Python mátrix létrehozható beágyazott lista adattípussal és a numpy könyvtár használatával.
  • A Numpy python könyvtár segít a tömbök kezelésében. A Numpy a listához képest kicsit gyorsabban dolgoz fel egy tömböt.
  • A végrehajtható mátrixművelet az összeadás, kivonás, szorzás, transzponálás, egy mátrix sorainak, oszlopainak beolvasása, a mátrix szeletelése stb.
  • Két mátrix hozzáadásához használhatja a numpy.array() függvényt, és hozzáadhatja őket a (+) operátorral.
  • Az akarat szorzásához használhatja a numpy dot() metódust. A Numpy.dot() az M1 és M2 mátrix pontszorzata. A Numpy.dot() kezeli a 2D tömböket és mátrixszorzásokat hajt végre.
  • A mátrix transzponálását úgy számítjuk ki, hogy a sorokat oszlopként, az oszlopokat pedig sorként változtatjuk. A Numpy transpose() függvénye használható egy mátrix transzponálásának kiszámítására.
  • Egy mátrix szeletelése visszaadja az elemeket a megadott kezdő/vége index alapján.