Φιλτράρισμα Αρχείων NumPy
- Προηγούμενη σελίδα Σειρά Αρχείων NumPy
- Επόμενη σελίδα Ανατροπή Αρχείων NumPy
Φιλτράρισμα πίνακα
Δημιουργία νέου πίνακα από μερικά στοιχεία του υπάρχοντος πίνακα ονομάζεται φιλτράρισμα (filtering).
Στο NumPy, χρησιμοποιούμε λίστες μοναδικών ενδикαστών για να φιλτράρουμε πίνακες.
Λίστα μοναδικών ενδикαστών είναι μια λίστα μοναδικών τιμών που αντιστοιχεί στις ινδάλματα του πίνακα.
Εάν το στοιχείο περιέχει στο φίλτρο μετά από το φίλτρο; True
Εάν το στοιχείο περιέχει στο φίλτρο μετά από το φίλτρο; False
Εάν το στοιχείο θα αφαιρεθεί από τον πίνακα μετά από το φίλτρο.
Παράδειγμα
Δημιουργία ενός πίνακα από τα στοιχεία με τις ινδάλματα 0 και 2, 4:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) x = [True, False, True, False, True] newarr = arr[x] print(newarr)
Το παρακάτω παράδειγμα θα επιστρέψει [61, 63, 65]
Γιατί;
Γιατί το νέο φίλτρο περιέχει μόνο τιμές από τον πίνακα φίλτρων; True
της τιμής, οπότε σε αυτή την περίπτωση, οι ινδάλματα είναι 0 και 2, 4.
του
Στο παρακάτω παράδειγμα, δημιουργούμε τον πίνακα φίλτρων True
και False
Η τιμή είναι σκληροκωδικοποιημένη, αλλά η συνήθης χρήση είναι η δημιουργία πίνακα φίλτρων με βάση τις προϋποθέσεις.
Παράδειγμα
Δημιουργία ενός φίλτρου πίνακα που επιστρέφει μόνο τιμές μεγαλύτερες από 62:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) # Δημιουργία κενής λίστας filter_arr = [] # Διάβαση κάθε στοιχείου στο arr for element in arr: # Αν το στοιχείο είναι μεγαλύτερο από 62, τότε η τιμή ορίζεται ως True, αλλιώς ως False: εάν το στοιχείο > 62: filter_arr.append(True) else: filter_arr.append(False) newarr = arr[filter_arr] print(filter_arr) print(newarr)
Παράδειγμα
Δημιουργία ενός φίλτρου πίνακα που επιστρέφει μόνο τα οδόντα στοιχεία του αρχικού πίνακα:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) # Δημιουργία κενής λίστας filter_arr = [] # Διάβαση κάθε στοιχείου στο arr for element in arr: # Αν το στοιχείο μπορεί να διαιρεθεί από 2, τότε ορίζεται το όρισμα ως True, αλλιώς ως False if element % 2 == 0: filter_arr.append(True) else: filter_arr.append(False) newarr = arr[filter_arr] print(filter_arr) print(newarr)
Δημιουργία φίλτρου πίνακα άμεσα από τον πίνακα
Το παράδειγμα αυτό είναι μια πολύ συχνή εργασία στο NumPy, το οποίο παρέχει καλή λύση στο πρόβλημα.
Μπορούμε να αντικαταστήσουμε άμεσα τον πίνακα αντί για την μεταβλητή iterable, και θα λειτουργήσει όπως αναμένουμε.
Παράδειγμα
Δημιουργία ενός φίλτρου πίνακα που επιστρέφει μόνο τιμές μεγαλύτερες από 62:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) filter_arr = arr > 62 newarr = arr[filter_arr] print(filter_arr) print(newarr)
Παράδειγμα
Δημιουργία ενός φίλτρου πίνακα που επιστρέφει μόνο τα οδόντα στοιχεία του αρχικού πίνακα:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) filter_arr = arr % 2 == 0 newarr = arr[filter_arr] print(filter_arr) print(newarr)
- Προηγούμενη σελίδα Σειρά Αρχείων NumPy
- Επόμενη σελίδα Ανατροπή Αρχείων NumPy