Είναι ακριβής ο ισχυρισμός ότι η νέα βιβλιοθήκη Polars ξεπερνά τα Panda σε πολλαπλά σημεία αναφοράς ή η βιβλιοθήκη Panda εξακολουθεί να είναι η κυρίαρχη επιλογή;
Κατά την εκτέλεση εργασιών ανάλυσης δεδομένων, το πιθανότερο είναι ότι έχετε συναντήσει Πάντα. Είναι η πιο κυρίαρχη βιβλιοθήκη στην ανάλυση δεδομένων για μεγάλο χρονικό διάστημα. Η Polars από την άλλη είναι μια σχετικά νέα βιβλιοθήκη που διαθέτει υψηλή απόδοση και απόδοση μνήμης. Αλλά, ποιο είναι καλύτερο;
Εδώ, θα δείτε μια σύγκριση της απόδοσης μεταξύ Panda και Polars σε μια σειρά κοινών εργασιών χειρισμού δεδομένων.
Μέτρηση της απόδοσης: Μετρήσεις και σύνολο δεδομένων συγκριτικής αξιολόγησης
Αυτή η σύγκριση θα λάβει υπόψη την ικανότητα των Πάντα και Πολικοί βιβλιοθήκες για να χειριστείτε το σύνολο δεδομένων Black Friday Sale από Kaggle. Αυτό το σύνολο δεδομένων περιέχει 550.068 σειρές δεδομένων. Περιλαμβάνει πληροφορίες σχετικά με τα δημογραφικά στοιχεία πελατών, το ιστορικό αγορών και τις λεπτομέρειες του προϊόντος.
Για να διασφαλιστούν δίκαιες μετρήσεις απόδοσης, η σύγκριση θα χρησιμοποιεί τον χρόνο εκτέλεσης ως τυπική μέτρηση απόδοσης για κάθε εργασία. Η πλατφόρμα για την εκτέλεση του κώδικα για κάθε εργασία σύγκρισης θα είναι το Google Colab.
Ο πλήρης πηγαίος κώδικας που συγκρίνει τις βιβλιοθήκες Pandas και Polars είναι διαθέσιμος σε α Αποθετήριο GitHub.
Ανάγνωση δεδομένων από αρχείο CSV
Αυτή η εργασία συγκρίνει τον χρόνο που χρειάζεται για κάθε βιβλιοθήκη για να διαβάσει δεδομένα από το σύνολο δεδομένων Black Friday Sale. Το σύνολο δεδομένων είναι μέσα Μορφή CSV. Τα Panda και τα Polars προσφέρουν παρόμοια λειτουργικότητα για αυτήν την εργασία.
Τα πάντα χρειάζονται τον διπλάσιο χρόνο που χρειάζονται οι Polars για να διαβάσουν δεδομένα στο σύνολο δεδομένων Black Friday Sale.
Επιλογή στηλών
Αυτή η εργασία μετρά τον χρόνο που χρειάζεται για κάθε βιβλιοθήκη για να επιλέξει τις στήλες από το σύνολο δεδομένων. Περιλαμβάνει την επιλογή του Ταυτότητα χρήστη και Αγορά στήλες.
Οι πολικοί χρειάζονται πολύ λιγότερο χρόνο για να επιλέξουν στήλες από το σύνολο δεδομένων σε σύγκριση με τα Panda.
Φιλτράρισμα σειρών
Αυτή η εργασία συγκρίνει την απόδοση κάθε βιβλιοθήκης σε γραμμές φιλτραρίσματος όπου το Γένος Η στήλη είναι F από το σύνολο δεδομένων.
Οι πολικοί χρειάζονται πολύ μικρό χρόνο σε σύγκριση με τα πάντα για να φιλτράρουν τις σειρές.
Ομαδοποίηση και συγκέντρωση δεδομένων
Αυτή η εργασία περιλαμβάνει ομαδοποίηση δεδομένων κατά μία ή περισσότερες στήλες. Στη συνέχεια, εκτελώντας ορισμένες λειτουργίες συνάθροισης στις ομάδες. Μετρά το χρόνο που χρειάζεται για κάθε βιβλιοθήκη για να ομαδοποιήσει τα δεδομένα κατά το Γένος στήλη και υπολογίστε το μέσο ποσό αγοράς για κάθε ομάδα.
Και πάλι, οι Polars υπερτερούν των Panda. Αλλά το περιθώριο δεν είναι τόσο τεράστιο όσο αυτό του φιλτραρίσματος των σειρών.
Εφαρμογή συναρτήσεων σε δεδομένα
Αυτή η εργασία περιλαμβάνει την εφαρμογή μιας συνάρτησης σε μία ή περισσότερες στήλες. Μετρά το χρόνο που χρειάζεται για κάθε βιβλιοθήκη να πολλαπλασιάσει το Αγορά στήλη κατά 2.
Μετά βίας μπορείτε να δείτε τη μπάρα Polars. Οι Πολικοί για άλλη μια φορά ξεπερνούν τα Πάντα.
Συγχώνευση δεδομένων
Αυτό το έργο περιλαμβάνει συγχώνευση δύο ή περισσότερων DataFrames με βάση ότι υπάρχουν μία ή περισσότερες κοινές στήλες. Μετρά το χρόνο που χρειάζεται για να συγχωνεύσει κάθε βιβλιοθήκη Ταυτότητα χρήστη και Αγορά στήλες από δύο ξεχωριστά DataFrames.
Χρειάζεται λίγος χρόνος και στις δύο βιβλιοθήκες για να ολοκληρώσουν αυτήν την εργασία. Αλλά το Polars χρειάζεται σχεδόν τον μισό χρόνο που χρειάζεται το Panda για να συγχωνεύσει τα δεδομένα.
Γιατί οι Polars είναι σε θέση να ξεπεράσουν τα πάντα;
Σε όλες τις παραπάνω εργασίες χειρισμού δεδομένων, οι Polars υπερτερούν των Panda. Υπάρχουν διάφοροι λόγοι για τους οποίους οι Polars μπορεί να ξεπεράσουν τα Panda στο χρόνο εκτέλεσης.
- Βελτιστοποίηση μνήμης: Η Polars χρησιμοποιεί τη Rust, μια γλώσσα προγραμματισμού συστήματος που βελτιστοποιεί τη χρήση της μνήμης. Επιτρέπει στην Polars να ελαχιστοποιήσει τον χρόνο που ξοδεύει για την εκχώρηση και την εκχώρηση μνήμης. Αυτό κάνει τον χρόνο εκτέλεσης πιο γρήγορο.
- Λειτουργίες SIMD (Single Instruction Multiple Data).: Η Polars χρησιμοποιεί λειτουργίες SIMD για να εκτελέσει υπολογισμούς σε δεδομένα. Αυτό σημαίνει ότι μπορεί να χρησιμοποιήσει μία μόνο εντολή για να εκτελέσει την ίδια λειτουργία σε πολλά στοιχεία δεδομένων ταυτόχρονα. Αυτό επιτρέπει στους Polar να εκτελούν λειτουργίες πολύ γρηγορότερα από τα Panda, τα οποία χρησιμοποιούν προσέγγιση μονού νήματος.
- Τεμπέλης Αξιολόγηση: Η Polars χρησιμοποιεί lazy αξιολόγηση για να καθυστερήσει την εκτέλεση των λειτουργιών μέχρι να τις χρειαστεί. Αυτό μειώνει τον χρόνο που αφιερώνει η Polars σε περιττές λειτουργίες και βελτιώνει την απόδοση.
Επεκτείνετε τις δεξιότητες επιστήμης δεδομένων σας
Υπάρχουν πολλές βιβλιοθήκες Python εκεί έξω που μπορούν να σας βοηθήσουν στην επιστήμη των δεδομένων. Τα πάντα και οι Πολικοί είναι απλώς ένα μικρό κλάσμα. Για να βελτιώσετε την απόδοση του προγράμματός σας, θα πρέπει να εξοικειωθείτε με περισσότερες βιβλιοθήκες επιστήμης δεδομένων. Αυτό θα σας βοηθήσει να συγκρίνετε και να επιλέξετε ποια βιβλιοθήκη ταιριάζει καλύτερα στην περίπτωση χρήσης σας.