Κάντε τα Pandas 3 φορές γρηγορότερα με PyPolars
Μάθετε πώς να επιταχύνετε τη ροή εργασίας Pandas χρησιμοποιώντας τη βιβλιοθήκη PyPolars.
By Σατιάμ Κουμάρ, λάτρης της μηχανικής μάθησης & προγραμματιστής
Φωτογραφία Τιμ Γκουβ on Unsplash
Το Pandas είναι ένα από τα πιο σημαντικά πακέτα Python μεταξύ των επιστημόνων δεδομένων που παίζουν με τα δεδομένα. Η βιβλιοθήκη Pandas χρησιμοποιείται ως επί το πλείστον για εξερευνήσεις δεδομένων και οπτικοποιήσεις καθώς συνοδεύεται από τόνους ενσωματωμένων λειτουργιών. Τα Panda αποτυγχάνουν να χειριστούν σύνολα δεδομένων μεγάλου μεγέθους καθώς δεν κλιμακώνουν ή διανέμουν τη διαδικασία τους σε όλους τους πυρήνες της CPU.
Για να επιταχυνθούν οι υπολογισμοί, μπορεί κανείς να χρησιμοποιήσει όλους τους πυρήνες της CPU και να επιταχύνει τη ροή εργασίας. Υπάρχουν διάφορες βιβλιοθήκες ανοιχτού κώδικα, συμπεριλαμβανομένων των Dask, Vaex, Modin, Pandarallel, PyPolars κ.λπ. που παραλληλίζουν τους υπολογισμούς σε πολλούς πυρήνες της CPU. Σε αυτό το άρθρο, θα συζητήσουμε την υλοποίηση και τη χρήση της βιβλιοθήκης PyPolars και θα συγκρίνουμε την απόδοσή της με τη βιβλιοθήκη Pandas.
Τι είναι το PyPolars;
Το PyPolars είναι μια βιβλιοθήκη πλαισίου δεδομένων Python ανοιχτού κώδικα παρόμοια με τα Pandas. Το PyPolars χρησιμοποιεί όλους τους διαθέσιμους πυρήνες της CPU και ως εκ τούτου εκτελεί τους υπολογισμούς πιο γρήγορα από τα Panda. Το PyPolars έχει ένα API παρόμοιο με αυτό των Pandas. Είναι γραμμένο σε σκουριά με περιτυλίγματα Python.
Στην ιδανική περίπτωση, το PyPolars χρησιμοποιείται όταν τα δεδομένα είναι πολύ μεγάλα για τα Panda και πολύ μικρά για το Spark
Πώς λειτουργεί το PyPolars;
Η βιβλιοθήκη PyPolars έχει δύο API, το ένα είναι το Eager API και το άλλο είναι το Lazy API. Το Eager API είναι πολύ παρόμοιο με αυτό των Pandas και τα αποτελέσματα παράγονται αμέσως μετά την ολοκλήρωση της εκτέλεσης παρόμοια με τα Pandas. Το Lazy API μοιάζει πολύ με το Spark, όπου σχηματίζεται ένας χάρτης ή ένα σχέδιο κατά την εκτέλεση ενός ερωτήματος. Στη συνέχεια, η εκτέλεση εκτελείται παράλληλα σε όλους τους πυρήνες της CPU.
(Εικόνα από συγγραφέα), PyPolars API
Το PyPolars είναι βασικά ως python που συνδέεται με τη βιβλιοθήκη Polars. Το καλύτερο μέρος της βιβλιοθήκης PyPolars είναι η ομοιότητα του API με τα Pandas, γεγονός που διευκολύνει τους προγραμματιστές.
Εγκατάσταση:
Το PyPolars μπορεί να εγκατασταθεί από το PyPl χρησιμοποιώντας την ακόλουθη εντολή:
pip install py-polars
και εισάγετε τη βιβλιοθήκη χρησιμοποιώντας
import pypolars as pl
Χρονικοί περιορισμοί αναφοράς:
Για επιδείξεις, χρησιμοποίησα ένα σύνολο δεδομένων μεγάλου μεγέθους (~6.4 Gb) με 25 εκατομμύρια παρουσίες.
(Εικόνα κατά συγγραφέα), Αριθμός χρόνου αναφοράς για βασικές λειτουργίες Panda και Py-Polars
Για τους παραπάνω χρονικούς αριθμούς αναφοράς για ορισμένες βασικές λειτουργίες που χρησιμοποιούν τη βιβλιοθήκη Pandas και PyPolars, μπορούμε να παρατηρήσουμε ότι το PyPolars είναι σχεδόν 2x έως 3x ταχύτερο από το Pandas.
Τώρα γνωρίζουμε ότι το PyPolars έχει ένα API πολύ παρόμοιο με αυτό των Pandas, αλλά και πάλι, δεν καλύπτει όλες τις λειτουργίες των Pandas. Για παράδειγμα, δεν έχουμε .describe()
αντ' αυτού, μπορούμε να χρησιμοποιήσουμε τη λειτουργία στο PyPolars df_pypolars.to_pandas().describe()
Χρήση:
(Κωδικός από συγγραφέα)
Συμπέρασμα:
Σε αυτό το άρθρο, καλύψαμε μια μικρή εισαγωγή στη βιβλιοθήκη PyPolars, συμπεριλαμβανομένης της εφαρμογής, της χρήσης και της σύγκρισης των χρονικών αριθμών αναφοράς με τα Panda για ορισμένες βασικές λειτουργίες. Σημειώστε ότι το PyPolars λειτουργεί πολύ παρόμοια με αυτό των Panda και το PyPolars είναι μια βιβλιοθήκη αποδοτική στη μνήμη, καθώς η μνήμη που υποστηρίζεται από αυτήν είναι αμετάβλητη.
Μπορεί κανείς να περάσει από το τεκμηρίωση για να κατανοήσετε λεπτομερώς τη βιβλιοθήκη. Υπάρχουν διάφορες άλλες βιβλιοθήκες ανοιχτού κώδικα που μπορούν να παραλληλίσουν τις λειτουργίες των Pandas και να επιταχύνουν τη διαδικασία. Διαβάστε το το παρακάτω άρθρο να γνωρίζετε 4 τέτοιες βιβλιοθήκες:
4 Βιβλιοθήκες που μπορούν να παραλληλίσουν το υπάρχον οικοσύστημα Panda
Κατανείμετε το φόρτο εργασίας της Python με παράλληλη επεξεργασία χρησιμοποιώντας αυτά τα πλαίσια
αναφορές:
[1] Polars Documentation και αποθετήριο GitHub: https://github.com/ritchie46/polars
Ευχαριστούμε που το διαβάσατε
Bio: Σατιάμ Κουμάρ είναι λάτρης της μηχανικής μάθησης και προγραμματιστής. Σατιάμ γράφει σχετικά με την Επιστήμη των Δεδομένων και είναι κορυφαίος συγγραφέας στην τεχνητή νοημοσύνη. Επιδιώκει μια προκλητική καριέρα σε έναν οργανισμό που παρέχει την ευκαιρία να αξιοποιήσει τις τεχνικές του δεξιότητες και ικανότητες.
Πρωτότυπο. Αναδημοσιεύτηκε με άδεια.
Συγγενεύων:
Κορυφαίες ιστορίες τις τελευταίες 30 ημέρες
Πηγή: https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html
- "
- &
- AI
- αλγόριθμοι
- Όλα
- μεταξύ των
- api
- APIs
- γύρω
- άρθρο
- αυτόματη
- αναφοράς
- ΚΑΛΎΤΕΡΟΣ
- Βιβλία
- Σταδιοδρομία
- σταδιοδρομία
- κωδικός
- ημερομηνία
- επιστημονικά δεδομένα
- επιστήμονας δεδομένων
- οπτικοποίηση δεδομένων
- συμφωνία
- προγραμματιστές
- μηχανικός
- κ.λπ.
- εκτέλεση
- GitHub
- καθοδηγήσει
- Πως
- Πώς να
- HTTPS
- εικόνα
- Συμπεριλαμβανομένου
- IT
- large
- ΜΑΘΑΊΝΩ
- μάθηση
- Βιβλιοθήκη
- μάθηση μηχανής
- χάρτη
- medium
- Microsoft
- Microsoft Research
- εκατομμύριο
- μοντέλο
- αριθμοί
- λειτουργίες
- Ευκαιρία
- ΑΛΛΑ
- επίδοση
- Παράγεται
- Python
- Ανάγνωση
- έρευνα
- Αποτελέσματα
- Σκωρία
- Κλίμακα
- Επιστήμη
- Μέγεθος
- δεξιότητες
- small
- ταχύτητα
- SQL
- Εκκίνηση
- ιστορίες
- Τεχνικός
- ώρα
- τόνους
- κορυφή
- οραματισμός
- ροής εργασίας
- λειτουργεί
- συγγραφέας
- X