Διαχωρισμός Πίνακα NumPy
- Προηγούμενη σελίδα Σύνδεση Πίνακα NumPy
- Επόμενη σελίδα Αναζήτηση Πίνακα NumPy
Διαίρεση NumPy συνόλου
Η διαίρεση είναι η αντίθετη λειτουργία της σύνδεσης.
Σύνδεση (Joining) είναι η ενώμενη πολλαπλών συνολών σε ένα, Διαίρεση (Spliting) είναι η διαίρεση ενός συνόλου σε πολλαπλά.
Χρησιμοποιούμε array_split()
Διαίρεση συνόλου, μεταφέρετε το σύνολο που θέλετε να διαιρέσετε και τον αριθμό των διαίρεσης στη μέθοδο.
Παράδειγμα
Διαίρεση του συνόλου σε 3 μέρη:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 3) print(newarr)
Σημείωση:Η επιστροφή είναι ένα σύνολο που περιέχει τρία σύνολα.
Αν τα στοιχεία του συνόλου είναι λιγότερα από τον αριθμό των απαιτούμενων, θα προσαρμόσει την άκρη κατάλληλα.
Παράδειγμα
Διαίρεση του συνόλου σε 4 μέρη:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 4) print(newarr)
Συμβουλή:Έχουμε επίσης split()
Η μέθοδος είναι διαθέσιμη, αλλά όταν τα στοιχεία του αρχικού συνόλου είναι λιγότερα από τον αριθμό των διαίρεσης, δεν θα προσαρμόσει τα στοιχεία, όπως στο παραπάνω παράδειγμα:array_split()
Λειτουργεί κανονικά, αλλά split()
θα αποτύχει.
Διαίρεση σε σύνολα
array_split()
Η επιστροφή της μεθόδου είναι ένα σύνολο που περιέχει κάθε διαιρεμένο σύνολο.
Αν διαιρέσετε ένα σύνολο σε 3 υποσύνολα, μπορείτε να τις προσέξετε όπως τα στοιχεία οποιουδήποτε συνόλου από τα αποτελέσματα:
Παράδειγμα
Πρόσβαση στο διαιρεμένο σύνολο:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 3) print(newarr[0]) print(newarr[1]) print(newarr[2])
Διαίρεση διπλής διάστασης συνόλου
Για τη διαίρεση διπλής διάστασης συνόλου, χρησιμοποιήστε την ίδια σύνταξη.
Χρήση array_split()
Μέθοδος, εισάγετε το σύνολο που θέλετε να διαιρέσετε και τον αριθμό των υποσυνολών που θέλετε.
Παράδειγμα
Διασπάστε αυτό το 2-D σε τρία 2-D arrays.
import numpy as np arr = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]]) newarr = np.array_split(arr, 3) print(newarr)
Το παραπάνω παράδειγμα επιστρέφει τρία 2-D arrays.
Ας δούμε ένα άλλο παράδειγμα, αυτή τη φορά κάθε στοιχείο του 2-D array περιέχει τρία στοιχεία.
Παράδειγμα
Διασπάστε αυτό το 2-D σε τρία 2-D arrays.
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.array_split(arr, 3) print(newarr)
Το παραπάνω παράδειγμα επιστρέφει τρία 2-D arrays.
Επιπλέον, μπορείτε να καθορίσετε το άξονα που θέλετε να διασπάσετε.
Το παρακάτω παράδειγμα επιστρέφει τρία 2-D arrays, αλλά διασπάται κατά μήκος γραμμής (axis=1).
Παράδειγμα
Διασπάστε αυτό το 2-D κατά μήκος γραμμής σε τρία 2-D arrays.
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.array_split(arr, 3, axis=1) print(newarr)
Εναλλακτική λύση είναι η χρήση με hstack()
Αντίθετα hsplit()
.
Παράδειγμα
Χρησιμοποιήστε το μέθοδο hsplit() για να διαιρέσετε το 2-D array κατά μήκος γραμμής σε τρία 2-D arrays.
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.hsplit(arr, 3) print(newarr)
Συμβουλή:vsplit()
και dsplit()
Μπορείτε να χρησιμοποιήσετε με vstack()
και dstack()
Πρότυπα εναλλακτικές μεθόδους.
- Προηγούμενη σελίδα Σύνδεση Πίνακα NumPy
- Επόμενη σελίδα Αναζήτηση Πίνακα NumPy