Κάντε τα Pandas 3 φορές γρηγορότερα με PyPolars

Κόμβος πηγής: 1854103

Κάντε τα Pandas 3 φορές γρηγορότερα με PyPolars

Ετικέτες: Πάντα, επίδοση, Python

Μάθετε πώς να επιταχύνετε τη ροή εργασίας 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 ημέρες

Δημοφιλέστερα
  1. Επεξήγηση Επιστήμονας Δεδομένων, Μηχανικός Δεδομένων & Άλλη Καριέρα Δεδομένων
  2. Vaex: Pandas αλλά 1000x γρηγορότερα
  3. Βιβλία Επιστήμης Δεδομένων που πρέπει να ξεκινήσετε να διαβάζετε το 2021
  4. Προετοιμασία δεδομένων σε SQL, με Cheat Sheet!
  5. Χαρτογράφος: Η Microsoft Research άνοιξε πηγαίνοντας μια πλατφόρμα οπτικοποίησης δεδομένων που αλλάζει το παιχνίδι
Οι περισσότεροι Shared
  1. Ένας οδηγός για το πώς να γίνετε επιστήμονας δεδομένων (Βήμα προς βήμα προσέγγιση)
  2. Επεξήγηση Επιστήμονας Δεδομένων, Μηχανικός Δεδομένων & Άλλη Καριέρα Δεδομένων
  3. Πώς να προσδιορίσετε εάν το μοντέλο μηχανικής εκμάθησης είναι υπερβολικό
  4. Το DeepMind θέλει να φανταστεί εκ νέου έναν από τους σημαντικότερους αλγόριθμους στη μηχανική εκμάθηση
  5. Βασική Γραμμική Άλγεβρα για Επιστήμη Δεδομένων και Μηχανική Μάθηση

Πηγή: https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html

Σφραγίδα ώρας:

Περισσότερα από KDnuggets

KDnuggets™ News 21:n13, 7 Απριλίου: Οι 10 κορυφαίες βιβλιοθήκες Python που θα πρέπει να γνωρίζουν οι επιστήμονες δεδομένων το 2021. Πρόγραμμα επιβράβευσης κορυφαίων ιστολογίων KDnuggets; Κάνοντας τα μοντέλα μηχανικής μάθησης κατανοητά

Κόμβος πηγής: 805388
Σφραγίδα ώρας: 7 Απριλίου 2021