Mi az a Python Matrix?
A Python-mátrix egy speciális kétdimenziós téglalap alakú tömb, amelyet sorokban és oszlopokban tárolnak. A mátrix adatai 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 felhasználható.
Ebben a Python oktatóanyagban megtudhatja:
- Mi az a Python Matrix?
- Hogyan működnek a Python mátrixok?
- Hozzon létre Python Matrixot beágyazott lista adattípus használatával
- Adatok olvasása a Python Matrixon belül egy lista segítségével.
- 2. példa: Minden sor utolsó elemének elolvasása.
- 3. példa: A Mátrix sorainak kinyomtatása
- Mátrixok hozzáadása beágyazott lista használatával
- Mátrixok szorzása beágyazott lista használatával
- Hozzon létre Python Matrix-ot a Python Numpy csomag tömbjeivel
- Mátrix művelet a Numpy.Array () használatával
- A NumPy Matrix elérése
Hogyan működnek a Python mátrixok?
A kétdimenziós tömb mátrix formátumú adatai a következőképpen néznek ki:1. lépés)
2x2 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 a col1 értéke 2,4, a col2 értéke 3,5.
2. lépés)
2x3 mátrixot mutat. Két sora és három oszlopa van. Az első soron belüli adatok, azaz az 1. sor értéke 2,3,4, a 2. soré pedig 5,6,7. A col1 oszlopok értéke 2,5, a col2 értéke 3,6 és a col3 értéke 4,7.
Tehát hasonló módon az nxn mátrixban tárolhatja adatait a Pythonban. Nagyon sok művelet elvégezhető egy mátrixszerű összeadáson, kivonáson, szorzáson stb.
A Pythonnak nincs egyszerű módja 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átrixot a beágyazott lista adattípusával
- Hozzon létre Python Matrix-ot a Python Numpy csomag tömbjeivel
Hozzon létre Python Matrixot beágyazott lista adattípus használatával
A Pythonban a tömbök a lista adattípusával vannak ábrázolva. Tehát most felhasználja a listát egy python mátrix létrehozására.
Létrehozunk egy 3x3-as mátrixot, az alábbiak szerint:
- A mátrix 3 sorból és 3 oszlopból áll.
- A lista formátumának 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 az alábbi:
List = [[Row1],[Row2],[Row3]… [RowN]]
Tehát a fent felsorolt mátrix szerint a mátrixadatokkal ellátott listatípus a következő:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Adatok olvasása a Python Matrixon belül egy lista segítségével.
Ki fogjuk használni a fent definiált mátrixot. A példa beolvassa az adatokat, kinyomtatja a mátrixot, megjeleníti az egyes sorok utolsó elemét.
Példa: A mátrix kinyomtatásához
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]#To print the matrixprint(M1)
Kimenet:
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
2. példa: Minden sor utolsó elemének elolvasá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])
Kimenet:
-6421
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 Matrixfor i in range(matrix_length):print(M1[i])
Kimenet:
[8, 14, -6][12, 7, 4][-11, 3, 21]
Mátrixok hozzáadása beágyazott lista használatával
Két adott mátrixot könnyen hozzáadhatunk. Az itt található mátrixok a lista formában lesznek. Dolgozzunk egy példán, amely ügyelni fog a megadott mátrixok hozzáadására.
1. mátrix:
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]
2. mátrix:
M2 = [[3, 16, -6],[9,7,-4],[-1,3,13]]
A Last inicializálja az M1 + M2 eredményét tároló mátrixot.
3. mátrix:
M3 = [[0,0,0],[0,0,0],[0,0,0]]
Példa: Mátrixok hozzáadása
Hozzáadásához a mátrixok egy for-ciklust fognak használni, amely mindkét megadott mátrixot végigvonul.
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 matricesfor i in range(len(M1)):for k in range(len(M2)):M3[i][k] = M1[i][k] + M2[i][k]#To Print the matrixprint("The sum of Matrix M1 and M2 = ", M3)
Kimenet:
The sum of Matrix M1 and M2 = [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]
Mátrixok szorzása beágyazott lista használatával
A mátrixok megszorzásához használhatjuk a for-ciklust mindkét mátrixon, az alábbi kód szerint:
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 matricesfor i in range(len(M1)):for k in range(len(M2)):M3[i][k] = M1[i][k] * M2[i][k]#To Print the matrixprint("The multiplication of Matrix M1 and M2 = ", M3)
Kimenet:
The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]
Hozzon létre Python Matrix-ot a Python Numpy csomag tömbjeivel
A Numpy python könyvtár segít a tömbök kezelésében. A Numpy egy tömböt a listához képest kissé gyorsabban dolgozza fel.
A Numpy alkalmazásához először telepítenie kell. Kövesse az alábbi lépéseket a Numpy telepítéséhez.
1. lépés)
A Numpy telepítésének parancsa:
pip install NumPy
2. lépés)
A Numpy használatához a kódban importálnia kell.
import NumPy
3. lépés)
Importálhatja a Numpy-t egy álnév segítségével is, 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: tömb a Numpy-ban a Python Matrix létrehozásához
import numpy as npM1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])print(M1)
Kimenet:
[[ 5 -10 15][ 3 -6 9][ -4 8 12]]
Mátrix művelet a Numpy.Array () használatával
Az elvégezhető mátrix művelet összeadás, kivonás, szorzás, transzponálás, a mátrix sorainak, oszlopainak leolvasása, a mátrix szeletelése stb. Az összes példában egy tömb () metódust fogunk használni.
Mátrix-kiegészítés
A mátrixon történő összeadáshoz két mátrixot hozunk létre a numpy.array () használatával, és hozzáadjuk a (+) operátor segítségével.
Példa:
import numpy as npM1 = 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 + M2print(M3)
Kimenet:
[[ 12 -12 36][ 16 12 48][ 6 -12 60]]
Mátrix kivonás
A mátrixon történő kivonáshoz két mátrixot hozunk létre a numpy.array () használatával, és a (-) operátor segítségével kivonjuk őket.
Példa:
import numpy as npM1 = 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 - M2print(M3)
Kimenet:
[[ -6 24 -18][ -6 -32 -18][-20 40 -18]]
Mátrix szorzás
Először két mátrixot hoz létre a numpy.arary () használatával. Ha meg akarja szaporítani őket, használhatja a numpy dot () metódust. A Numpy.dot () az M1 és M2 mátrix pontterméke. A Numpy.dot () kezeli a 2D tömböket és mátrix szorzást hajt végre.
Példa:
import numpy as npM1 = np.array([[3, 6], [5, -10]])M2 = np.array([[9, -18], [11, 22]])M3 = M1.dot(M2)print(M3)
Kimenet:
[[ 93 78][ -65 -310]]
Matrix Transpose
A mátrix transzpozícióját úgy számolják ki, hogy a sorokat oszlopként, az oszlopokat pedig sorokként változtatják meg. A Numpy-ből származó transpose () függvény felhasználható egy mátrix transzpozíciójának kiszámításához.
Példa:
import numpy as npM1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])M2 = M1.transpose()print(M2)
Kimenet:
[[ 3 5 4][ 6 -10 8][ 9 15 12]]
Mátrix szeletelése
A szeletelés a mátrix elemeit adja vissza a megadott kezdő / befejező index alapján.
- A szeletelés szintaxisa: - [kezdet: vég]
- Ha a kezdő index nincs megadva, akkor az 0-nak számít. Például [: 5], ez azt jelenti, hogy [0: 5].
- Ha a vég nem teljesül, akkor a tömb hosszát veszi fel.
- Ha a kezdet / vég negatív értékekkel rendelkezik, akkor a szeletelés a tömb végétől fog megtörténni.
Mielőtt a mátrixon szeletelnénk, először értsük meg, hogyan kell alkalmazni a szelet egy egyszerű tömbön.
import numpy as nparr = np.array([2,4,6,8,10,12,14,16])print(arr[3:6]) # will print the elements from 3 to 5print(arr[:5]) # will print the elements from 0 to 4print(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 -2print(arr[:-1]) # will print from end i.e. 0 to -2
Kimenet:
[ 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 egy mátrixon
a szintaxis M1 lesz [row_start: row_end, col_start: col_end]
- Az első kezdet / vég a sorra vonatkozik, vagyis a mátrix sorainak kiválasztására szolgál.
- A második kezdet / vég az oszlopra vonatkozik, azaz a mátrix oszlopainak kiválasztására.
Az M1 t 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-ról indul, hogy 3. A 0 th sorban van a [2,4,6,8,10], 1 st sor [3,6,9, -12, -15] majd 2 ND és 3 rd .
Az M1 mátrixnak 5 oszlopa van. Az index 0-ról indul, hogy 4.A 0 th oszlop értékek [2,3,4,5], 1 st oszlopok értékek [4,6,8, -10] majd 2 ND , 3 rd , 4 th , és 5 -én .
Íme egy példa, amely bemutatja, hogyan lehet szeleteléssel lekérni a sorok és oszlopok adatait a mátrixról. A példában nyomtat 1 -jén és 2 -án sor, és az oszlopok, szeretnénk az első, második és harmadik oszlop. Az általunk használt kimenet megszerzéséhez: M1 [1: 3, 1: 4]
Példa:
import numpy as npM1 = 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.
Kimenet:
[[ 6 9 -12][ 8 12 16]]
Példa: Minden sor és harmadik oszlop kinyomtatása
import numpy as npM1 = 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.
Kimenet:
[ 8 -12 16 -20]
Példa: Az első sor és az összes oszlop kinyomtatása
import numpy as npM1 = 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
Kimenet:
[[ 2 4 6 8 10]]
Példa: Az első három sor és az első 2 oszlop kinyomtatása
import numpy as npM1 = 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])
Kimenet:
[[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 megtudjuk, hogyan lehet a sorokat és az oszlopokat kihozni 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 npM1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])print(M1[0]) #first rowprint(M1[1]) # the second rowprint(M1[-1]) # -1 will print the last row
Kimenet:
[3 6 9][ 5 -10 15][ 4 8 12]
Az utolsó sor megszerzéséhez használhatja az indexet vagy a -1-et. Például a mátrixnak 3 sora van,
tehát az M1 [0] adja meg az első sort,
Az M1 [1] megadja a második sort
Az M1 [2] vagy az M1 [-1] a harmadik vagy az utolsó sort adja meg.
A mátrix oszlopainak kinyomtatásához
import numpy as npM1 = 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 Columnprint(M1[:,3]) # Will print the third Columnprint(M1[:,-1]) # -1 will give you the last column
Kimenet:
[2 3 4 5][ 8 -12 16 -20][ 10 -15 -20 25]
Összegzés:
- A Python-mátrix egy speciális kétdimenziós téglalap alakú tömb, amelyet sorokban és oszlopokban tárolnak. A mátrix adatai 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 felhasználható.
- A Pythonnak nincs egyszerű módja a mátrix adattípus megvalósítására. A Python-mátrix létrehozható beágyazott lista adattípus és a numpy könyvtár segítségével.
- A Numpy python könyvtár segít a tömbök kezelésében. A Numpy egy tömböt a listához képest kissé gyorsabban dolgozza fel.
- Az elvégezhető mátrix művelet összeadás, kivonás, szorzás, transzponálás, a mátrix sorainak, oszlopainak leolvasása, a mátrix szeletelése stb.
- Két mátrix hozzáadásához használhatja a numpy.array () fájlt, és hozzáadhatja őket a (+) operátorral.
- Ha meg akarjuk szaporítani őket, használhatjuk a numpy dot () metódust. A Numpy.dot () az M1 és M2 mátrix pontterméke. A Numpy.dot () kezeli a 2D tömböket és mátrix szorzást hajt végre.
- A mátrix transzpozícióját úgy számolják ki, hogy a sorokat oszlopként, az oszlopokat pedig sorokként változtatják meg. A Numpy-ből származó transpose () függvény felhasználható egy mátrix transzpozíciójának kiszámításához.
- A mátrix szeletelése az adott kezdő / befejező index alapján adja vissza az elemeket.