Kas ir Python Matrix?
Python matrica ir specializēts divdimensiju taisnstūrveida datu masīvs, kas tiek glabāts rindās un kolonnās. Matricas dati var būt skaitļi, virknes, izteiksmes, simboli utt. Matrica ir viena no svarīgākajām datu struktūrām, ko var izmantot matemātiskos un zinātniskos aprēķinos.
Šajā Python apmācībā jūs uzzināsiet:
- Kas ir Python Matrix?
- Kā darbojas Python matricas?
- Izveidojiet Python Matrix, izmantojot ligzdotu sarakstu datu tipu
- Lai lasītu datus Python Matrix iekšpusē, izmantojot sarakstu.
- 2. piemērs: lai lasītu katras rindas pēdējo elementu.
- 3. piemērs: Matricas rindu drukāšana
- Matricu pievienošana, izmantojot ligzdoto sarakstu
- Matricu reizināšana, izmantojot ligzdoto sarakstu
- Izveidojiet Python Matrix, izmantojot masīvus no Python Numpy paketes
- Matricas darbība, izmantojot Numpy.Array ()
- Piekļuve NumPy matricai
Kā darbojas Python matricas?
Divdimensiju masīva iekšējie dati matricas formātā izskatās šādi:1. darbība)
Tas parāda 2x2 matricu. Tam ir divas rindas un 2 kolonnas. Matricas iekšējie dati ir skaitļi. 1. rindai ir vērtības 2,3 un 2. rindai - 4,5. Kolonnām, ti, col1, ir vērtības 2,4, bet kol2 vērtībām 3,5.
2. solis)
Tas parāda 2x3 matricu. Tam ir divas rindas un trīs kolonnas. Pirmajā rindā, ti, 1. rindā, esošajiem datiem ir vērtības 2,3,4, bet 2. rindai - 5,6,7. Kolonnu col1 vērtība ir 2,5, col2 vērtība ir 3,6 un col3 vērtība ir 4,7.
Līdzīgi jūs varat glabāt savus datus Python nxn matricas iekšpusē. Daudzas darbības var veikt ar matricu līdzīgu saskaitīšanu, atņemšanu, reizināšanu utt.
Python nav vienkāršs veids, kā ieviest matricas datu tipu.
Pitona matricā tiek izmantoti masīvi, un to pašu var ieviest.
- Izveidojiet Python matricu, izmantojot ligzdotā saraksta datu tipu
- Izveidojiet Python Matrix, izmantojot masīvus no Python Numpy paketes
Izveidojiet Python Matrix, izmantojot ligzdotu sarakstu datu tipu
Programmā Python masīvi tiek attēloti, izmantojot saraksta datu tipu. Tāpēc tagad saraksts tiks izmantots, lai izveidotu pitona matricu.
Mēs izveidosim 3x3 matricu, kā parādīts zemāk:
- Matricā ir 3 rindas un 3 kolonnas.
- Pirmā saraksta formāta rinda būs šāda: [8,14, -6]
- Saraksta otrā rinda būs: [12,7,4]
- Saraksta trešā rinda būs: [-11,3,21]
Matrica sarakstā ar visām rindām un kolonnām ir parādīta zemāk:
List = [[Row1],[Row2],[Row3]… [RowN]]
Tātad atbilstoši iepriekš uzskaitītajai matricai saraksta tips ar matricas datiem ir šāds:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Lai lasītu datus Python Matrix iekšpusē, izmantojot sarakstu.
Mēs izmantosim iepriekš definēto matricu. Piemērs nolasīs datus, izdrukās matricu, parādīs pēdējo elementu no katras rindas.
Piemērs: Lai izdrukātu matricu
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]#To print the matrixprint(M1)
Izeja:
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
2. piemērs: lai lasītu katras rindas pēdējo elementu.
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])
Izeja:
-6421
3. piemērs: Matricas rindu drukāšana
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])
Izeja:
[8, 14, -6][12, 7, 4][-11, 3, 21]
Matricu pievienošana, izmantojot ligzdoto sarakstu
Mēs varam viegli pievienot divas dotās matricas. Matricas šeit būs saraksta formā. Strādāsim ar piemēru, kas parūpēsies par doto matricu pievienošanu.
1. matrica:
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]
2. matrica:
M2 = [[3, 16, -6],[9,7,-4],[-1,3,13]]
Pēdējais inicializēs matricu, kurā tiks saglabāti M1 + M2 rezultāti.
Matrica 3:
M3 = [[0,0,0],[0,0,0],[0,0,0]]
Piemērs: Matricu pievienošana
Lai pievienotu, matricās tiks izmantota for-loop, kas cilpos caur abām dotajām matricām.
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)
Izeja:
The sum of Matrix M1 and M2 = [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]
Matricu reizināšana, izmantojot ligzdoto sarakstu
Lai reizinātu matricas, abās matricās mēs varam izmantot for-loop, kā parādīts zemāk esošajā kodā:
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)
Izeja:
The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]
Izveidojiet Python Matrix, izmantojot masīvus no Python Numpy paketes
Pitonu bibliotēka Numpy palīdz tikt galā ar masīviem. Numpy masīvu apstrādā nedaudz ātrāk, salīdzinot ar sarakstu.
Lai strādātu ar Numpy, vispirms tas jāinstalē. Lai instalētu Numpy, veiciet tālāk norādītās darbības.
1. darbība)
Komanda Numpy instalēšanai ir:
pip install NumPy
2. solis)
Lai kodā izmantotu Numpy, tas ir jāimportē.
import NumPy
3. solis)
Varat arī importēt Numpy, izmantojot aizstājvārdu, kā parādīts zemāk:
import NumPy as np
Lai izveidotu pitona matricu, mēs izmantosim masīva () metodi no Numpy.
Piemērs: masīvs Numpy, lai izveidotu Python Matrix
import numpy as npM1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])print(M1)
Izeja:
[[ 5 -10 15][ 3 -6 9][ -4 8 12]]
Matricas darbība, izmantojot Numpy.Array ()
Matricas darbība, ko var veikt, ir saskaitīšana, atņemšana, reizināšana, transponēšana, matricas rindu, kolonnu nolasīšana, matricas sagriešana utt. Visos piemēros mēs izmantosim masīva () metodi.
Matricas papildinājums
Lai veiktu pievienošanu matricā, mēs izveidosim divas matricas, izmantojot numpy.array (), un pievienosim tās, izmantojot operatoru (+).
Piemērs:
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)
Izeja:
[[ 12 -12 36][ 16 12 48][ 6 -12 60]]
Matricas atņemšana
Lai matricā veiktu atņemšanu, mēs izveidosim divas matricas, izmantojot numpy.array (), un atņemsim tās, izmantojot operatoru (-).
Piemērs:
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)
Izeja:
[[ -6 24 -18][ -6 -32 -18][-20 40 -18]]
Matricas reizināšana
Vispirms izveidosiet divas matricas, izmantojot numpy.arary (). Lai tos reizinātu, varat izmantot metodi numpy dot (). Numpy.dot () ir matricas M1 un M2 punktu reizinājums. Numpy.dot () apstrādā 2D masīvus un veic matricu reizinājumus.
Piemērs:
import numpy as npM1 = np.array([[3, 6], [5, -10]])M2 = np.array([[9, -18], [11, 22]])M3 = M1.dot(M2)print(M3)
Izeja:
[[ 93 78][ -65 -310]]
Matricas transponēšana
Tiek aprēķināta matricas transponēšana, mainot rindas kā kolonnas un kolonnas kā rindas. Funkciju Numpy transponēt () var izmantot, lai aprēķinātu matricas transponēšanu.
Piemērs:
import numpy as npM1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])M2 = M1.transpose()print(M2)
Izeja:
[[ 3 5 4][ 6 -10 8][ 9 15 12]]
Matricas sagriešana
Sagriešana atgriezīs matricas elementus, pamatojoties uz norādīto sākuma / beigu indeksu.
- Sagriešanas sintakse ir - [sākums: beigas]
- Ja sākuma indekss nav norādīts, tas tiek uzskatīts par 0. Piemēram, [: 5], tas nozīmē kā [0: 5].
- Ja beigas netiek nodotas, tas būs masīva garums.
- Ja sākuma / beigu vērtībai ir negatīvas vērtības, tā tiks sagriezta no masīva beigām.
Pirms mēs strādājam ar griešanu uz matricas, vispirms ļaujiet mums saprast, kā šķēli piemērot vienkāršam masīvam.
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
Izeja:
[ 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]
Tagad ieviesīsim griešanu uz matricas. Lai veiktu griešanu uz matricas
sintakse būs M1 [row_start: row_end, col_start: col_end]
- Pirmais sākums / beigas būs rindai, ti, lai atlasītu matricas rindas.
- Otrais sākums / beigas būs kolonnai, ti, lai atlasītu matricas kolonnas.
Matrica M1, kuru mēs izmantosim, ir šāda:
M1 = np.array([[2, 4, 6, 8, 10],[3, 6, 9, -12, -15],[4, 8, 12, 16, -20],[5, -10, 15, -20, 25]])
Kopā ir 4 rindas. Indeksētie sākas no 0 līdz 3. The 0 th rindā ir [2,4,6,8,10], 1 st rinda ir [3,6,9, -12, -15], kam seko 2 nd un 3 rd .
Matricā M1 ir 5 kolonnas. Indeksētie sākas no 0 līdz 4.Maksājumus 0 th kolonnā ir vērtības [2,3,4,5], 1 st kolonnu vērtības [4,6,8, -10], kam seko 2 nd , 3 rd , 4 th , un 5 th .
Šeit ir piemērs, kas parāda, kā iegūt rindu un kolonnu datus no matricas, izmantojot sagriešanu. Šajā piemērā mēs drukāšanas 1 st un 2 nd rindu un kolonnu, mēs vēlamies, pirmo, otro un trešo kolonnu. Lai iegūtu šo izmantoto izvadi: M1 [1: 3, 1: 4]
Piemērs:
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.
Izeja:
[[ 6 9 -12][ 8 12 16]]
Piemērs: lai izdrukātu visas rindas un trešās kolonnas
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.
Izeja:
[ 8 -12 16 -20]
Piemērs: lai izdrukātu pirmo rindu un visas kolonnas
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
Izeja:
[[ 2 4 6 8 10]]
Piemērs: lai izdrukātu pirmās trīs rindas un pirmās 2 kolonnas
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])
Izeja:
[[2 4][3 6][4 8]]
Piekļuve NumPy matricai
Mēs esam redzējuši, kā darbojas sagriešana. Ņemot to vērā, mēs uzzināsim, kā iegūt matricas rindas un kolonnas.
Lai izdrukātu matricas rindas
Šajā piemērā tiks izdrukātas matricas rindas.
Piemērs:
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
Izeja:
[3 6 9][ 5 -10 15][ 4 8 12]
Lai iegūtu pēdējo rindu, varat izmantot indeksu vai -1. Piemēram, matricā ir 3 rindas,
tātad M1 [0] dos jums pirmo rindu,
M1 [1] iegūs otro rindu
M1 [2] vai M1 [-1] iegūs trešo vai pēdējo rindu.
Lai izdrukātu matricas kolonnas
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
Izeja:
[2 3 4 5][ 8 -12 16 -20][ 10 -15 -20 25]
Kopsavilkums:
- Python matrica ir specializēts divdimensiju taisnstūrveida datu masīvs, kas tiek glabāts rindās un kolonnās. Matricas dati var būt skaitļi, virknes, izteiksmes, simboli utt. Matrica ir viena no svarīgākajām datu struktūrām, ko var izmantot matemātiskos un zinātniskos aprēķinos.
- Python nav vienkāršs veids, kā ieviest matricas datu tipu. Python matricu var izveidot, izmantojot ligzdotu sarakstu datu tipu un izmantojot numpy bibliotēku.
- Pitonu bibliotēka Numpy palīdz tikt galā ar masīviem. Numpy masīvu apstrādā nedaudz ātrāk, salīdzinot ar sarakstu.
- Matricas darbība, ko var veikt, ir saskaitīšana, atņemšana, reizināšana, transponēšana, matricas rindu, kolonnu nolasīšana, matricas sagriešana utt.
- Lai pievienotu divas matricas, varat izmantot numuru numpy.array () un pievienot tos, izmantojot operatoru (+).
- Lai tos reizinātu, varat izmantot metodi numpy dot (). Numpy.dot () ir matricas M1 un M2 punktu reizinājums. Numpy.dot () apstrādā 2D masīvus un veic matricu reizinājumus.
- Matricas transponēšanu aprēķina, mainot rindas kā kolonnas un kolonnas kā rindas. Funkciju Numpy transponēt () var izmantot, lai aprēķinātu matricas transponēšanu.
- Matricas sagriešana atgriezīs jums elementus, pamatojoties uz norādīto sākuma / beigu indeksu.