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:
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:
- 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.