Numpy Δημιουργία πίνακα 2D

Numpy Demiourgia Pinaka 2d



Ένας δισδιάστατος πίνακας Numpy ορίζεται από μια λίστα λιστών python. Ακριβώς όπως ένας πίνακας Numpy μιας διάστασης, όλα τα στοιχεία σε έναν πίνακα πρέπει να είναι ενός μόνο τύπου. Εάν δηλωθεί ένας πίνακας NumPy με λίστες πολλαπλών τύπων, θα προκύψει καταναγκασμός τύπου και όλες οι τιμές θα μετατραπούν σε έναν μόνο τύπο. Ο καταναγκασμός τύπου είναι αυτός στον οποίο οι τύποι δεδομένων μετατρέπονται από τον έναν στον άλλο, είναι σιωπηρός ή αυτόματος. Σε δισδιάστατους πίνακες, οι διαστάσεις μπορεί να είναι περισσότερες από δύο.

Με απλά λόγια, μπορούμε να ορίσουμε τον δισδιάστατο πίνακα ως πίνακα μέσα σε έναν άλλο πίνακα. Ο δείκτης του ξεκινά με «0» και τελειώνει στο μέγεθος του πίνακα «-1». Οι πίνακες μπορούν να κατασκευαστούν n φορές μέσα σε πίνακες. Ένας δισδιάστατος πίνακας μπορεί να αλλάξει μέγεθος τόσο κατακόρυφα όσο και οριζόντια, και προς τις δύο κατευθύνσεις.

Σύνταξη

Η σύνταξη για να δηλώσετε έναν πίνακα είναι η παρακάτω:







όνομα_πίνακα = [ r_arr ] [ c_arr ]

array_name είναι το όνομα του πίνακα που θέλουμε να δημιουργήσουμε. Ενώ, το 'r_arr' είναι οι σειρές του πίνακα και το 'c_arr' είναι η στήλη του πίνακα. Αυτή η σύνταξη μας επιτρέπει να δημιουργήσουμε τη θέση μνήμης όπου θα αποθηκευτεί ο πίνακας ή μπορούμε να πούμε ότι η θέση μνήμης μπορεί να δεσμευτεί για τον πίνακα.



Υπάρχει μια άλλη μέθοδος για να δηλώσετε έναν πίνακα 2D:



όνομα_πίνακα = [ [ R1C1 , R1C2 , R1C3 , ... ] , [ R2C2 , R2C2 , R2C3 , ... ] , . . .. ]

Στην παραπάνω σύνταξη, το όνομα του πίνακα είναι το όνομα του πίνακα όπου 'R1C1', 'R2C1', ... n είναι τα στοιχεία του πίνακα όπου το 'R' υποδηλώνει σειρές και το 'c' υποδηλώνει στήλες. Όπως μπορούμε να δούμε στα πρώτα τετράγωνα άγκιστρα, ο αριθμός των σειρών αλλάζει ενώ οι στήλες είναι ίδιες. Αυτό συμβαίνει επειδή, μέσα στον πίνακα, ορίζουμε στήλες χρησιμοποιώντας πολλαπλούς πίνακες ενώ οι σειρές ορίζονται μέσα στους εσωτερικούς πίνακες.





Παράδειγμα # 01: Δημιουργία Δισδιάστατου Πίνακα

Ας δώσουμε ένα πρακτικό παράδειγμα δημιουργίας ενός δισδιάστατου πίνακα και ας πάρουμε μια καλύτερη ιδέα για το πώς δημιουργείται ένας δισδιάστατος πίνακας. Για να δημιουργήσουμε έναν πίνακα 2D, θα εισαγάγουμε πρώτα τη βιβλιοθήκη NumPy που θα μας επιτρέψει να υλοποιήσουμε ορισμένα πακέτα που μας παρέχει το NumPy για τη δημιουργία του πίνακα. Στη συνέχεια, θα αρχικοποιήσουμε μια μεταβλητή που κρατά τον δισδιάστατο πίνακα για να δημιουργήσουμε έναν πίνακα. Θα περάσουμε τη συνάρτηση np.array() που μας επιτρέπει να δημιουργήσουμε οποιονδήποτε τύπο πίνακα είτε είναι 1D, 2D ή ούτω καθεξής. Σε αυτή τη συνάρτηση, θα περάσουμε πολλαπλούς πίνακες μέσα σε αυτόν τον πίνακα που μας επιτρέπει να δημιουργήσουμε έναν δισδιάστατο πίνακα.

Όπως μπορούμε να δούμε στο παρακάτω στιγμιότυπο οθόνης, στη δεύτερη γραμμή, περάσαμε τρεις πίνακες σε αυτή τη συνάρτηση που σημαίνει ότι έχουμε τρεις σειρές και μέσα σε αυτούς τους πίνακες, περάσαμε 6 στοιχεία στον καθένα που σημαίνει ότι υπάρχουν 6 στήλες. Ένα πράγμα που πρέπει να προσέξετε, είναι ότι περνάμε πάντα στοιχεία σε αγκύλες που σημαίνει ότι περνάμε στοιχεία πίνακα και μπορούμε να δούμε ότι έχουμε περάσει πολλούς πίνακες μέσα στον μοναδικό πίνακα.



εισαγωγή μουδιασμένος όπως και π.χ.

πίνακας = π.χ. πίνακας ( [ [ 1 , δύο , 3 , 4 , 5 , 6 ] , [ 4 , 5 , 6 , 7 , 8 , 9 ] , [ 7 , 8 , 9 , 10 , έντεκα , 12 ] ] )

Τυπώνω ( πίνακας )

Στο τέλος, εκτυπώσαμε τον πίνακα χρησιμοποιώντας μια δήλωση εκτύπωσης. Όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης, μπορούμε να δούμε ότι εμφανίζεται ο πίνακας που περιέχει 3 σειρές και 6 στήλες.

Παράδειγμα # 02: Πρόσβαση στις τιμές

Καθώς μελετούσαμε τη μέθοδο δημιουργίας πινάκων 2D, ένα πράγμα πρέπει να έχει κάνει κλικ στο μυαλό μας: πώς μπορούμε να έχουμε πρόσβαση στα στοιχεία του πίνακα 2D; Ενώ η πρόσβαση στο στοιχείο του πίνακα 2D δεν είναι μεγάλο ζήτημα. Το Numpy μας δίνει τη δυνατότητα να χειριστούμε τα στοιχεία των πινάκων με μια απλή γραμμή κώδικα που είναι:

Πίνακας [ ευρετήριο σειράς ] [ ευρετήριο στήλης ]

Ο πίνακας είναι το όνομα του πίνακα από τον οποίο πρέπει να αποκτήσουμε πρόσβαση ή να ανακτήσουμε τα δεδομένα όπου το ευρετήριο σειράς είναι η θέση μνήμης της σειράς. Και το ευρετήριο στήλης είναι η θέση της στήλης στην οποία θα προσπελαστεί, ας υποθέσουμε ότι πρέπει να έχουμε πρόσβαση στο στοιχείο ευρετηρίου '2' της γραμμής και στο στοιχείο ευρετηρίου '0' μιας στήλης.

Όπως μπορούμε να δούμε στο παρακάτω σχήμα, πρώτα εισαγάγαμε τη βιβλιοθήκη NumPy για πρόσβαση στα πακέτα του NumPy. Στη συνέχεια, δηλώσαμε το όνομα της μεταβλητής “array” που περιέχει τον πίνακα 2D και στη συνέχεια του δώσαμε τις τιμές που θέλουμε να αποθηκεύσουμε σε αυτόν. Εμφανίσαμε αρχικά τον πίνακα όπως είναι τον οποίο έχουμε αρχικοποιήσει. Στη συνέχεια, περάσαμε τον πίνακα με το ευρετήριο στη δήλωση print() που θα εμφανίσει ολόκληρο τον πίνακα που είναι αποθηκευμένος στο δείκτη «2». Στην επόμενη γραμμή κώδικα, περάσαμε ξανά τον πίνακα με δύο ευρετήρια στην πρόταση print(). Η πρώτη είναι η σειρά του πίνακα και η δεύτερη είναι η στήλη του πίνακα που είναι '0' και '2'.

εισαγωγή μουδιασμένος όπως και π.χ.

πίνακας = π.χ. πίνακας ( [ [ 1 , δύο , 3 , 4 , 5 , 6 ] , [ 4 , 5 , 6 , 7 , 8 , 9 ] , [ 7 , 8 , 9 , 10 , έντεκα , 12 ] ] )

Τυπώνω ( 'Εμφάνιση πίνακα:' , πίνακας )

Τυπώνω ( 'Εμφάνιση της δεύτερης σειράς:' , πίνακας [ δύο ] )

Τυπώνω ( 'Εμφάνιση της πρώτης γραμμής και του στοιχείου 2 στηλών:' , πίνακας [ 0 ] [ δύο ] )

Η ακόλουθη έξοδος επιστρέφεται κατά την εκτέλεση του μεταγλωττιστή κώδικα και εκτυπώνει τον πίνακα ως έχει. Στη συνέχεια, η δεύτερη σειρά σύμφωνα με τον κωδικό. Τέλος, ο μεταγλωττιστής επιστρέφει το στοιχείο που είναι αποθηκευμένο στον δείκτη '0' για τις γραμμές και στον δείκτη '2' για τη στήλη.

Παράδειγμα #03: Ενημέρωση των τιμών

Έχουμε ήδη συζητήσει τη μεθοδολογία για το πώς μπορούμε να δημιουργήσουμε ή να αποκτήσουμε πρόσβαση στα δεδομένα ή τα στοιχεία μέσα στον πίνακα 2D, αλλά όταν πρέπει να αλλάξουμε τα στοιχεία του πίνακα, μπορούμε απλώς να χρησιμοποιήσουμε τη μέθοδο που παρέχεται από τα πακέτα NumPy που μας επιτρέπουν για να ενημερώσετε την επιθυμητή τιμή μέσα σε έναν πίνακα.

Για να ενημερώσουμε την τιμή, χρησιμοποιούμε:

πίνακας [ row_index ] [ στήλη_ευρετήριο ] = [ αξίες ]

Στην παραπάνω σύνταξη, ο πίνακας είναι το όνομα του πίνακα. Το ευρετήριο σειράς είναι το μέρος ή η τοποθεσία που θα επεξεργαστούμε. Το ευρετήριο στήλης είναι η θέση της στήλης στην οποία ενημερώνεται η τιμή, όπου η τιμή είναι αυτή που πρέπει να προστεθεί στο επιθυμητό ευρετήριο.

Όπως μπορούμε να δούμε, εισάγουμε πρώτα τη βιβλιοθήκη NumPy. Στη συνέχεια, δήλωσε έναν πίνακα μεγέθους 3×6 και πέρασε τις ακέραιες τιμές του. Στη συνέχεια, περάσαμε την τιμή '21' στον πίνακα που σημαίνει ότι θέλουμε να αποθηκεύσουμε την τιμή '21' στον πίνακα στο '0' μιας γραμμής και '2' μιας στήλης που σημαίνει ότι θέλουμε να την αποθηκεύσουμε στο ευρετήριο της πρώτης σειράς και της 3ης rd στήλη του πίνακα. Στη συνέχεια εκτυπώστε και τους δύο πίνακες, τον αρχικό αλλά και το στοιχείο που έχουμε αποθηκεύσει στον πίνακα.

εισαγωγή μουδιασμένος όπως και π.χ.

πίνακας = π.χ. πίνακας ( [ [ 1 , δύο , 3 , 4 , 5 , 6 ] , [ 4 , 5 , 6 , 7 , 8 , 9 ] , [ 7 , 8 , 9 , 10 , έντεκα , 12 ] ] )

πίνακας [ 0 ] [ δύο ] = είκοσι ένα

Τυπώνω ( 'Εμφάνιση πίνακα:' , πίνακας )

Τυπώνω ( 'Εμφάνιση της πρώτης γραμμής και του στοιχείου 2 στηλών:' , πίνακας [ 0 ] [ δύο ] )

Όπως φαίνεται παρακάτω, η τιμή ενημερώνεται με επιτυχία στον πίνακα προσθέτοντας απλώς μια απλή γραμμή κώδικα που παρέχεται από το πακέτο NumPy.

συμπέρασμα

Σε αυτό το άρθρο, εξηγήσαμε διάφορους τρόπους δημιουργίας δισδιάστατων συστοιχιών και πώς μπορούμε να τους χειριστούμε χρησιμοποιώντας τις ενσωματωμένες λειτουργίες του NumPy. Συζητήσαμε πώς μπορούμε να έχουμε πρόσβαση στα στοιχεία μέσα στον πίνακα και να τα ενημερώσουμε. Το Numpy μας δίνει τη δυνατότητα να δημιουργήσουμε και να χειριστούμε πολυδιάστατους πίνακες με μία μόνο γραμμή κώδικα. Οι Numpy πίνακες είναι πιο σαφείς και πιο αποτελεσματικοί από τις λίστες python.