NumPy Cheat Sheet
Το σύστημα NumPy είναι μια επέκταση αριθμητικών υπολογισμών ανοιχτού κώδικα για την Python. Αυτό το εργαλείο μπορεί να χρησιμοποιηθεί για την αποθήκευση και την επεξεργασία μεγάλων μητρών, κάτι που είναι πολύ πιο αποτελεσματικό από τη δομή ένθετων λιστών της ίδιας της Python (η οποία μπορεί επίσης να χρησιμοποιηθεί για την αναπαράσταση μητρών).
Επεξήγηση
Χρησιμοποιήστε το arr για να αναπαραστήσετε ένα αντικείμενο πίνακα numpy.
Εισαγωγή Ενότητας (Module)
import numpy as npΕισαγωγή/Εξαγωγή
| np.loadtxt(‘file.txt’) | Ανάγνωση από αρχείο κειμένου |
| np.genfromtxt(‘file.csv’,delimiter=’,’) | Ανάγνωση από αρχείο CSV |
| np.savetxt(‘file.txt’,arr,delimiter=’ ‘) | Εγγραφή σε αρχείο κειμένου |
| np.savetxt(‘file.csv’,arr,delimiter=’,’) | Εγγραφή σε αρχείο CSV |
Δημιουργία Πίνακα
| np.array([1,2,3]) | 1D πίνακας |
| np.array([(1,2,3),(4,5,6)]) | 2D πίνακας |
| np.zeros(3) | 1D πίνακας μήκους 3 με όλα τα στοιχεία μηδέν |
| np.ones((3,4)) | 3x4 πίνακας με όλα τα στοιχεία μονάδα (1) |
| np.eye(5) | 5x5 πίνακας με μονάδες στη διαγώνιο και μηδενικά αλλού (Μοναδιαίος πίνακας) |
| np.linspace(0,100,6) | Πίνακας 6 τιμών με ίση απόσταση από το 0 έως το 100 |
| np.arange(0,10,3) | Πίνακας τιμών από το 0 έως λιγότερο από 10 με βήμα 3 (π.χ. [0,3,6,9]) |
| np.full((2,3),8) | 2x3 πίνακας με όλα τα στοιχεία 8 |
| np.random.rand(4,5) | 4x5 πίνακας τυχαίων αριθμών κινητής υποδιαστολής μεταξύ 0-1 |
| np.random.rand(6,7)*100 | 6x7 πίνακας τυχαίων αριθμών κινητής υποδιαστολής μεταξύ 0-100 |
| np.random.randint(5,size=(2,3)) | 2x3 πίνακας με τυχαίους ακέραιους μεταξύ 0-4 |
Επιθεώρηση Ιδιοτήτων
| arr.size | Επιστρέφει τον συνολικό αριθμό των στοιχείων του πίνακα |
| arr.shape | Επιστρέφει τις διαστάσεις του πίνακα |
| arr.dtype | Επιστρέφει τον τύπο των στοιχείων στον πίνακα |
| arr.astype(dtype) | Μετατρέπει τον τύπο των στοιχείων του πίνακα σε dtype |
| arr.tolist() | Μετατρέπει τον πίνακα σε λίστα |
| np.info(np.eye) | Προβολή τεκμηρίωσης για το np.eye |
Αντιγραφή/Ταξινόμηση/Αλλαγή Σχήματος (Reshape)
| np.copy(arr) | Αντιγράφει το arr σε νέα μνήμη |
| arr.view(dtype) | Δημιουργεί μια προβολή (view) των στοιχείων του arr με τύπο dtype |
| arr.sort() | Ταξινομεί το arr |
| arr.sort(axis=0) | Ταξινομεί συγκεκριμένο άξονα του arr |
| two_d_arr.flatten() | Μετατρέπει έναν 2D πίνακα σε 1D |
| arr.T | Αναστρέφει το arr (οι γραμμές γίνονται στήλες και το αντίστροφο) |
| arr.reshape(3,4) | Αλλάζει το σχήμα του arr σε 3 γραμμές, 4 στήλες χωρίς αλλαγή δεδομένων |
| arr.resize((5,6)) | Αλλάζει το σχήμα του arr σε 5x6 και γεμίζει τις νέες τιμές με 0 |
Προσθήκη/Αφαίρεση Στοιχείων
| np.append(arr,values) | Προσθέτει τιμές στο τέλος του arr |
| np.insert(arr,2,values) | Εισάγει τιμές στο arr πριν από το δείκτη (index) 2 |
| np.delete(arr,3,axis=0) | Διαγράφει τη γραμμή στο δείκτη 3 του arr |
| np.delete(arr,4,axis=1) | Διαγράφει τη στήλη στο δείκτη 4 του arr |
Συνδυασμός/Διαχωρισμός
| np.concatenate((arr1,arr2),axis=0) | Προσθέτει το arr2 ως γραμμές στο τέλος του arr1 |
| np.concatenate((arr1,arr2),axis=1) | Προσθέτει το arr2 ως στήλες στο τέλος του arr1 |
| np.split(arr,3) | Διαχωρίζει το arr σε 3 υπο-πίνακες |
| np.hsplit(arr,5) | Διαχωρίζει το arr οριζόντια στον 5ο δείκτη |
Ευρετηρίαση/Τεμαχισμός (Slicing)/Υποσύνολα
| arr[5] | Επιστρέφει το στοιχείο στο δείκτη 5 |
| arr[2,5] | Επιστρέφει το στοιχείο 2D πίνακα στο δείκτη [2][5] |
| arr[1]=4 | Αναθέτει στο στοιχείο πίνακα στο δείκτη 1 την τιμή 4 |
| arr[1,3]=10 | Αναθέτει στο στοιχείο πίνακα στο δείκτη [1][3] την τιμή 10 |
| arr[0:3] | Επιστρέφει τα στοιχεία στους δείκτες 0,1,2 (Σε 2D πίνακα: επιστρέφει τις γραμμές 0,1,2) |
| arr[0:3,4] | Επιστρέφει τα στοιχεία στις γραμμές 0,1,2 στη στήλη 4 |
| arr[:2] | Επιστρέφει τα στοιχεία στους δείκτες 0,1 (Σε 2D πίνακα: επιστρέφει τις γραμμές 0,1) |
| arr[:,1] | Επιστρέφει τα στοιχεία στο δείκτη 1 σε όλες τις γραμμές |
| arr<5 | Επιστρέφει έναν πίνακα με τιμές boolean |
| (arr1<3) & (arr2>5) | Επιστρέφει έναν πίνακα με τιμές boolean |
| ~arr | Αντιστρέφει έναν πίνακα boolean |
| arr[arr<5] | Επιστρέφει στοιχεία πίνακα μικρότερα από 5 |
Μαθηματικά με Βαθμωτά Μεγέθη (Scalars)
| np.add(arr,1) | Πρόσθεση 1 σε κάθε στοιχείο του πίνακα |
| np.subtract(arr,2) | Αφαίρεση 2 από κάθε στοιχείο του πίνακα |
| np.multiply(arr,3) | Πολλαπλασιασμός κάθε στοιχείου του πίνακα επί 3 |
| np.divide(arr,4) | Διαίρεση κάθε στοιχείου του πίνακα διά 4 (επιστρέφει np.nan για διαίρεση με το μηδέν) |
| np.power(arr,5) | Ύψωση κάθε στοιχείου του πίνακα στην 5η δύναμη |
Μαθηματικά με Διανύσματα
| np.add(arr1,arr2) | Πρόσθεση του arr2 στο arr1 ανά στοιχείο |
| np.subtract(arr1,arr2) | Αφαίρεση του arr2 από το arr1 ανά στοιχείο |
| np.multiply(arr1,arr2) | Πολλαπλασιασμός του arr1 επί το arr2 ανά στοιχείο |
| np.divide(arr1,arr2) | Διαίρεση του arr1 διά του arr2 ανά στοιχείο |
| np.power(arr1,arr2) | Ύψωση του arr1 στη δύναμη του arr2 ανά στοιχείο |
| np.array_equal(arr1,arr2) | Επιστρέφει True αν οι πίνακες έχουν τα ίδια στοιχεία και σχήμα |
| np.sqrt(arr) | Τετραγωνική ρίζα κάθε στοιχείου στον πίνακα |
| np.sin(arr) | Ημίτονο κάθε στοιχείου στον πίνακα |
| np.log(arr) | Φυσικός λογάριθμος κάθε στοιχείου στον πίνακα |
| np.abs(arr) | Απόλυτη τιμή κάθε στοιχείου στον πίνακα |
| np.ceil(arr) | Στρογγυλοποίηση προς τα πάνω στον πλησιέστερο ακέραιο |
| np.floor(arr) | Στρογγυλοποίηση προς τα κάτω στον πλησιέστερο ακέραιο |
| np.round(arr) | Στρογγυλοποίηση στον πλησιέστερο ακέραιο |
Στατιστικά Στοιχεία
| np.mean(arr,axis=0) | Επιστρέφει τη μέση τιμή κατά μήκος συγκεκριμένου άξονα |
| arr.sum() | Επιστρέφει το άθροισμα του arr |
| arr.min() | Επιστρέφει την ελάχιστη τιμή του arr |
| arr.max(axis=0) | Επιστρέφει τη μέγιστη τιμή συγκεκριμένου άξονα |
| np.var(arr) | Επιστρέφει τη διακύμανση (variance) του πίνακα |
| np.std(arr,axis=1) | Επιστρέφει την τυπική απόκλιση (standard deviation) συγκεκριμένου άξονα |
| arr.corrcoef() | Επιστρέφει το συντελεστή συσχέτισης του πίνακα |