Τι είναι το Python Matrix;
Ο πίνακας Python είναι ένας εξειδικευμένος δισδιάστατος ορθογώνιος πίνακας δεδομένων που αποθηκεύεται σε σειρές και στήλες. Τα δεδομένα σε μια μήτρα μπορεί να είναι αριθμοί, συμβολοσειρές, εκφράσεις, σύμβολα κ.λπ. Το Matrix είναι μία από τις σημαντικές δομές δεδομένων που μπορούν να χρησιμοποιηθούν σε μαθηματικούς και επιστημονικούς υπολογισμούς.
Σε αυτό το σεμινάριο Python, θα μάθετε:
- Τι είναι το Python Matrix;
- Πώς λειτουργούν οι Python Matrices;
- Δημιουργήστε το Python Matrix χρησιμοποιώντας έναν τύπο δεδομένων ένθετης λίστας
- Για να διαβάσετε δεδομένα στο Python Matrix χρησιμοποιώντας μια λίστα.
- Παράδειγμα 2: Για να διαβάσετε το τελευταίο στοιχείο από κάθε σειρά.
- Παράδειγμα 3: Για να εκτυπώσετε τις γραμμές στο Matrix
- Προσθήκη πινάκων χρησιμοποιώντας ένθετη λίστα
- Πολλαπλασιασμός πινάκων χρησιμοποιώντας ένθετη λίστα
- Δημιουργήστε το Python Matrix χρησιμοποιώντας Arrays από το πακέτο Python Numpy
- Λειτουργία Matrix με χρήση του Numpy.Array ()
- Πρόσβαση στο NumPy Matrix
Πώς λειτουργούν οι Python Matrices;
Τα δεδομένα εντός του δισδιάστατου πίνακα σε μορφή μήτρας έχουν ως εξής:Βήμα 1)
Δείχνει μια μήτρα 2x2. Έχει δύο σειρές και 2 στήλες. Τα δεδομένα μέσα στη μήτρα είναι αριθμοί. Η σειρά1 έχει τιμές 2,3 και η σειρά 2 έχει τιμές 4,5. Οι στήλες, δηλ., Col1, έχουν τιμές 2,4 και η col2 έχει τιμές 3,5.
Βήμα 2)
Δείχνει μια μήτρα 2x3. Έχει δύο σειρές και τρεις στήλες. Τα δεδομένα εντός της πρώτης σειράς, δηλαδή, η σειρά 1, έχουν τιμές 2,3,4 και η σειρά 2 έχει τιμές 5,6,7. Οι στήλες col1 έχουν τιμές 2,5, col2 έχουν τιμές 3,6 και col3 έχουν τιμές 4,7.
Ομοίως, μπορείτε να αποθηκεύσετε τα δεδομένα σας μέσα στον πίνακα nxn στο Python. Πολλές λειτουργίες μπορούν να γίνουν σε μια προσθήκη, αφαίρεση, πολλαπλασιασμό, όπως η μήτρα.
Η Python δεν έχει έναν απλό τρόπο να εφαρμόσει έναν τύπο δεδομένων μήτρας.
Η μήτρα python χρησιμοποιεί πίνακες και το ίδιο μπορεί να εφαρμοστεί.
- Δημιουργήστε ένα Python Matrix χρησιμοποιώντας τον τύπο δεδομένων της ένθετης λίστας
- Δημιουργήστε το Python Matrix χρησιμοποιώντας Arrays από το πακέτο Python Numpy
Δημιουργήστε το Python Matrix χρησιμοποιώντας έναν τύπο δεδομένων ένθετης λίστας
Στο Python, οι πίνακες παρουσιάζονται χρησιμοποιώντας τον τύπο δεδομένων λίστας. Έτσι τώρα θα κάνει χρήση της λίστας για να δημιουργήσει μια μήτρα python.
Θα δημιουργήσουμε μια μήτρα 3x3, όπως φαίνεται παρακάτω:
- Ο πίνακας έχει 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 Matrix χρησιμοποιώντας μια λίστα.
Θα χρησιμοποιήσουμε τη μήτρα που ορίζεται παραπάνω. Το παράδειγμα θα διαβάσει τα δεδομένα, θα εκτυπώσει τη μήτρα, θα εμφανίσει το τελευταίο στοιχείο από κάθε σειρά.
Παράδειγμα: Για να εκτυπώσετε τη μήτρα
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]#To print the matrixprint(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])
Παραγωγή:
-6421
Παράδειγμα 3: Για να εκτυπώσετε τις γραμμές στο Matrix
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])
Παραγωγή:
[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.
Matrix 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 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)
Παραγωγή:
The sum of Matrix M1 and M2 = [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]
Πολλαπλασιασμός πινάκων χρησιμοποιώντας ένθετη λίστα
Για να πολλαπλασιάσουμε τους πίνακες, μπορούμε να χρησιμοποιήσουμε το for-loop και στους δύο πίνακες όπως φαίνεται στον παρακάτω κώδικα:
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)
Παραγωγή:
The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]
Δημιουργήστε το Python Matrix χρησιμοποιώντας Arrays από το πακέτο Python Numpy
Η βιβλιοθήκη python Numpy βοηθά στην αντιμετώπιση των συστοιχιών. Το Numpy επεξεργάζεται έναν πίνακα λίγο πιο γρήγορα σε σύγκριση με τη λίστα.
Για να εργαστείτε με το Numpy, πρέπει πρώτα να το εγκαταστήσετε. Ακολουθήστε τα παρακάτω βήματα για να εγκαταστήσετε το Numpy.
Βήμα 1)
Η εντολή για την εγκατάσταση του Numpy είναι:
pip install NumPy
Βήμα 2)
Για να χρησιμοποιήσετε το Numpy στον κωδικό σας, πρέπει να το εισαγάγετε.
import NumPy
Βήμα 3)
Μπορείτε επίσης να εισαγάγετε το Numpy χρησιμοποιώντας ένα ψευδώνυμο, όπως φαίνεται παρακάτω:
import NumPy as np
Θα χρησιμοποιήσουμε τη μέθοδο array () από το Numpy για να δημιουργήσουμε μια μήτρα python.
Παράδειγμα: Array in Numpy για δημιουργία Python Matrix
import numpy as npM1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])print(M1)
Παραγωγή:
[[ 5 -10 15][ 3 -6 9][ -4 8 12]]
Λειτουργία Matrix με χρήση του Numpy.Array ()
Η λειτουργία μήτρας που μπορεί να γίνει είναι προσθήκη, αφαίρεση, πολλαπλασιασμός, μεταφορά, ανάγνωση των γραμμών, στήλες μιας μήτρας, τεμαχισμός της μήτρας κ.λπ. Σε όλα τα παραδείγματα, πρόκειται να χρησιμοποιήσουμε μια μέθοδο πίνακα ().
Προσθήκη Matrix
Για να πραγματοποιήσουμε προσθήκη στο matrix, θα δημιουργήσουμε δύο πίνακες χρησιμοποιώντας το numpy.array () και θα τους προσθέσουμε χρησιμοποιώντας τον τελεστή (+).
Παράδειγμα:
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)
Παραγωγή:
[[ 12 -12 36][ 16 12 48][ 6 -12 60]]
Αφαίρεση Matrix
Για να πραγματοποιήσουμε αφαίρεση στη μήτρα, θα δημιουργήσουμε δύο πίνακες χρησιμοποιώντας το numpy.array () και θα τους αφαιρέσουμε χρησιμοποιώντας τον τελεστή (-).
Παράδειγμα:
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)
Παραγωγή:
[[ -6 24 -18][ -6 -32 -18][-20 40 -18]]
Πολλαπλασιασμός μήτρας
Πρώτα θα δημιουργήσει δύο πίνακες χρησιμοποιώντας το numpy.arary (). Για τον πολλαπλασιασμό τους, μπορείτε να χρησιμοποιήσετε τη μέθοδο numpy dot (). Το Numpy.dot () είναι το προϊόν κουκίδων των πινάκων M1 και M2. Το Numpy.dot () χειρίζεται τις 2D συστοιχίες και εκτελεί πολλαπλασιασμούς μήτρας.
Παράδειγμα:
import numpy as npM1 = np.array([[3, 6], [5, -10]])M2 = np.array([[9, -18], [11, 22]])M3 = M1.dot(M2)print(M3)
Παραγωγή:
[[ 93 78][ -65 -310]]
Μεταφορά Matrix
Υπολογίζεται η μεταφορά ενός πίνακα, αλλάζοντας τις σειρές ως στήλες και τις στήλες ως σειρές. Η συνάρτηση transpose () από το Numpy μπορεί να χρησιμοποιηθεί για τον υπολογισμό της μεταφοράς μιας μήτρας.
Παράδειγμα:
import numpy as npM1 = 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]]
Τεμαχισμός ενός πίνακα
Ο τεμαχισμός θα σας επιστρέψει τα στοιχεία από τη μήτρα βάσει του δείκτη έναρξης / λήξης που δίνεται.
- Η σύνταξη για τον τεμαχισμό είναι - [start: end]
- Εάν ο δείκτης εκκίνησης δεν δοθεί, θεωρείται 0. Για παράδειγμα [: 5], σημαίνει ως [0: 5].
- Εάν το τέλος δεν περάσει, θα πάρει το μήκος του πίνακα.
- Εάν η αρχή / τέλος έχει αρνητικές τιμές, θα γίνει ο τεμαχισμός από το τέλος του πίνακα.
Πριν δουλέψουμε στον τεμαχισμό σε μια μήτρα, ας καταλάβουμε πρώτα πώς να εφαρμόσουμε το slice σε έναν απλό πίνακα.
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
Παραγωγή:
[ 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]
Τώρα ας εφαρμόσουμε το slicing στο matrix. Για να κάνετε τεμαχισμό σε μια μήτρα
η σύνταξη θα είναι M1 [row_start: row_end, col_start: col_end]
- Το πρώτο ξεκίνημα / τέλος θα είναι για τη σειρά, δηλαδή για να επιλέξετε τις σειρές του πίνακα.
- Η δεύτερη αρχή / τέλος θα είναι για τη στήλη, δηλαδή για να επιλέξετε τις στήλες του πίνακα.
Ο πίνακας M1 που πρόκειται να χρησιμοποιήσουμε έχει ως εξής:
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. Η 0 th σειρά είναι η [2,4,6,8,10], 1 st σειρά είναι [3,6,9, -12, -15] που ακολουθείται από 2 nd και 3 rd .
Ο πίνακας M1 έχει 5 στήλες. Ξεκινά δείκτης από 0 έως 4.Η 0 th στήλη έχει τιμές [2,3,4,5], 1 st στήλες έχουν τιμές [4,6,8, -10] ακολουθούμενο από 2 nd , 3 rd , 4 ου , και 5 η .
Ακολουθεί ένα παράδειγμα που δείχνει τον τρόπο λήψης των δεδομένων από τις σειρές και τις στήλες από τον πίνακα χρησιμοποιώντας το τεμαχισμό. Στο παράδειγμα, έχουμε την εκτύπωση της 1 ης και 2 ης σειράς, καθώς και για τις στήλες, θέλουμε την πρώτη, δεύτερη και τρίτη στήλη. Για να έχουμε αυτήν την έξοδο χρησιμοποιήσαμε: M1 [1: 3, 1: 4]
Παράδειγμα:
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.
Παραγωγή:
[[ 6 9 -12][ 8 12 16]]
Παράδειγμα: Για εκτύπωση όλων των σειρών και τρίτων στηλών
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.
Παραγωγή:
[ 8 -12 16 -20]
Παράδειγμα: Για να εκτυπώσετε την πρώτη σειρά και όλες τις στήλες
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
Παραγωγή:
[[ 2 4 6 8 10]]
Παράδειγμα: Για να εκτυπώσετε τις τρεις πρώτες σειρές και τις πρώτες 2 στήλες
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])
Παραγωγή:
[[2 4][3 6][4 8]]
Πρόσβαση στο NumPy Matrix
Έχουμε δει πώς λειτουργεί ο τεμαχισμός. Λαμβάνοντας αυτό υπόψη, θα πάρουμε πώς να πάρουμε τις σειρές και τις στήλες από το πίνακα
Για να εκτυπώσετε τις σειρές του πίνακα
Στο παράδειγμα θα εκτυπωθούν οι σειρές του πίνακα.
Παράδειγμα:
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
Παραγωγή:
[3 6 9][ 5 -10 15][ 4 8 12]
Για να πάρετε την τελευταία σειρά, μπορείτε να χρησιμοποιήσετε το ευρετήριο ή -1. Για παράδειγμα, η μήτρα έχει 3 σειρές,
οπότε το M1 [0] θα σας δώσει την πρώτη σειρά,
Το M1 [1] θα σας δώσει τη δεύτερη σειρά
M1 [2] ή M1 [-1] θα σας δώσει την τρίτη σειρά ή την τελευταία σειρά.
Για να εκτυπώσετε τις στήλες του πίνακα
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
Παραγωγή:
[2 3 4 5][ 8 -12 16 -20][ 10 -15 -20 25]
Περίληψη:
- Ο πίνακας Python είναι ένας εξειδικευμένος δισδιάστατος ορθογώνιος πίνακας δεδομένων που αποθηκεύεται σε σειρές και στήλες. Τα δεδομένα σε μια μήτρα μπορεί να είναι αριθμοί, συμβολοσειρές, εκφράσεις, σύμβολα κ.λπ. Το Matrix είναι μία από τις σημαντικές δομές δεδομένων που μπορούν να χρησιμοποιηθούν σε μαθηματικούς και επιστημονικούς υπολογισμούς.
- Η Python δεν έχει έναν απλό τρόπο να εφαρμόσει έναν τύπο δεδομένων μήτρας. Το Python matrix μπορεί να δημιουργηθεί χρησιμοποιώντας έναν τύπο δεδομένων ένθετης λίστας και χρησιμοποιώντας τη βιβλιοθήκη numpy.
- Η βιβλιοθήκη python Numpy βοηθά στην αντιμετώπιση των συστοιχιών. Το Numpy επεξεργάζεται έναν πίνακα λίγο πιο γρήγορα σε σύγκριση με τη λίστα.
- Η λειτουργία μήτρας που μπορεί να γίνει είναι προσθήκη, αφαίρεση, πολλαπλασιασμός, μεταφορά, ανάγνωση των γραμμών, στήλες μιας μήτρας, τεμαχισμός της μήτρας κ.λπ.
- Για να προσθέσετε δύο πίνακες, μπορείτε να χρησιμοποιήσετε το numpy.array () και να τους προσθέσετε χρησιμοποιώντας τον τελεστή (+).
- Για τον πολλαπλασιασμό τους, μπορείτε να χρησιμοποιήσετε τη μέθοδο numpy dot (). Το Numpy.dot () είναι το προϊόν κουκίδων των πινάκων M1 και M2. Το Numpy.dot () χειρίζεται τις 2D συστοιχίες και εκτελεί πολλαπλασιασμούς μήτρας.
- Η μεταφορά μιας μήτρας υπολογίζεται αλλάζοντας τις σειρές ως στήλες και τις στήλες ως σειρές. Η συνάρτηση transpose () από το Numpy μπορεί να χρησιμοποιηθεί για τον υπολογισμό της μεταφοράς μιας μήτρας.
- Ο τεμαχισμός ενός πίνακα θα σας επιστρέψει τα στοιχεία βάσει του δείκτη έναρξης / λήξης που δίνεται.