Λειτουργίες Pandas που πρέπει να γνωρίζετε για την ανάλυση δεδομένων –

Λειτουργίες Pandas που πρέπει να γνωρίζετε για την ανάλυση δεδομένων –

September 29, 2022 0 Von admin

Οποιαδήποτε εργασία επιστήμης δεδομένων ξεκινά με διερευνητική ανάλυση δεδομένων για να μάθετε περισσότερα σχετικά με τα δεδομένα, τι υπάρχουν στα δεδομένα και τι όχι. Η γνώση των διαφορετικών λειτουργιών panda σίγουρα βοηθάει στην έγκαιρη ολοκλήρωση της ανάλυσης.

Επομένως, έχω παραθέσει τις κορυφαίες 21 λειτουργίες panda που καλύπτουν το 80% των εργασιών εξερεύνησης δεδομένων σας. Αυτό περιλαμβάνει λειτουργίες και μεθόδους panda για να –

in Python είναι μια ευρέως χρησιμοποιούμενη βιβλιοθήκη για χειρισμό και ανάλυση δεδομένων.

df.tail()

Αυτή η συνάρτηση σάς βοηθά να λάβετε τις τελευταίες λίγες σειρές του συνόλου δεδομένων. Από προεπιλογή, επιστρέφει τις τελευταίες 5 σειρές, και παρόμοια με το .head(), μπορείτε απλά να αναφέρετε τον επιθυμητό αριθμό σειρών στο df.tail()

Για παράδειγμα, ας υποθέσουμε ότι θέλετε να ανακτήσετε τις τελευταίες 3 σειρές του συνόλου δεδομένων. Μπορείτε να το αποκτήσετε παρακάτω.

df.tail(3)
σειρές δεδομένων |  τα πάντα

Εικόνα από συγγραφέα

df.sample()

Αυτή η συνάρτηση χρησιμοποιείται για τη λήψη μιας τυχαία επιλεγμένης γραμμής, στήλης ή και των δύο από ένα σύνολο δεδομένων. Η df.sample() λαμβάνει 7 προαιρετικές παραμέτρους, πράγμα που σημαίνει ότι αυτή η συνάρτηση μπορεί να εκτελεστεί χωρίς να χρησιμοποιηθεί κανένα όρισμα όπως παρακάτω.

df.sample()
επιλέξτε μια σειρά τυχαία
Επιλέξτε τυχαία μια σειρά | Εικόνα από συγγραφέα

Όπως μπορείτε να δείτε, αυτό επέστρεφε μόνο μία έξοδο γραμμής.

Μπορείτε επίσης να καθορίσετε τον επιθυμητό αριθμό σειρών και αυτές οι πολλές σειρές θα επιλεγούν τυχαία.

df.info()

Αυτή η συνάρτηση επιστρέφει μια γρήγορη σύνοψη του DataFrame. Αυτό περιλαμβάνει πληροφορίες σχετικά με τα ονόματα στηλών και τους αντίστοιχους τύπους δεδομένων τους, τις τιμές που λείπουν και την κατανάλωση μνήμης από το DataFrame, όπως φαίνεται παρακάτω.

df.info()
τα πάντα

Εμφάνιση πληροφοριών σχετικά με το DataFrame | Εικόνα από συγγραφέα

Έτσι, ιδανικά, αυτή η λειτουργία καλύπτει όλες τις πληροφορίες που μπορούν να ανακτηθούν με μεμονωμένες μεθόδους, όπως π.χ df.dtypes, df.στήλες, δφ.σχήμα.

Λειτουργία Pandas για να λάβετε τη στατιστική περίληψη του συνόλου δεδομένων

df.describe()

Αυτή η συνάρτηση επιστρέφει περιγραφικά στατιστικά στοιχεία σχετικά με τα δεδομένα. Αυτό περιλαμβάνει ελάχιστο, μέγιστο, μέσο όρο (κεντρική τάση), τυπική απόκλιση (διασπορά) των τιμών σε αριθμητικές στήλες και την καταμέτρηση όλων των μη μηδενικών τιμών στα δεδομένα, όπως φαίνεται παρακάτω.

df.describe()
περιγραφικές στατιστικές |  τα πάντα
df.describe() | Εικόνα από συγγραφέα

Από προεπιλογή, δημιουργούνται περιγραφικά στατιστικά στοιχεία για όλες τις αριθμητικές στήλες.

Pandas Λειτουργίες για να επιλέξετε ένα υποσύνολο του συνόλου δεδομένων

df.query()

Αυτή η συνάρτηση χρησιμοποιείται για την υποβολή ερωτημάτων στο DataFrame με βάση μια έκφραση. Μια έκφραση μπορεί να είναι τόσο απλή όσο μια μεμονωμένη συνθήκη και τόσο σύνθετη όσο ένας συνδυασμός πολλαπλών συνθηκών.

Για παράδειγμα, ας υποθέσουμε ότι θέλετε να ανακτήσετε όλες τις σειρές df όπου η Ποσότητα είναι μεγαλύτερη από 95. Απλώς πρέπει να περάσετε αυτήν τη συνθήκη ως έκφραση, όπως φαίνεται παρακάτω.

df.query("Quantity > 95")
πλαίσιο δεδομένων |pandas

df.query() | Εικόνα από συγγραφέα

Επιστρέφει ένα μεγάλο υποσύνολο των df με 521 σειρές.

df.loc

Αυτή η συνάρτηση είναι μια ιδιότητα του DataFrame που επιστρέφει την ομάδα γραμμών και στηλών που προσδιορίζονται από τις ετικέτες ή τα ονόματά τους.

Έτσι, μπορείτε να αποκτήσετε πρόσβαση σε έναν συνδυασμό γραμμής και στήλης όπως παρακάτω,

df.loc[100,'Sales_Manager']
## Output
'John'

Σε αυτήν την περίπτωση, η ετικέτα και ο αριθμός της σειράς είναι ίδια —100

df.iloc

Αυτή η συνάρτηση είναι και πάλι η ιδιότητα DataFrame που επιστρέφει την ίδια έξοδο με df.locαλλά χρησιμοποιεί αριθμούς σειρών και στηλών αντί για τις ετικέτες τους.

df.iloc[[100, 200],[6,3]]

df.iloc | Εικόνα από συγγραφέαΤο 6 και το 3 είναι οι αριθμοί στηλών για τις στήλες Sales_Manager και Status, αντίστοιχα, τους οποίους μπορείτε να δείτε στο df.info() λειτουργία.

Για να μάθετε περισσότερα για τα df.loc και df.iloc, συνιστώ ανεπιφύλακτα να διαβάσετε Επιλέξτε δεδομένα στο Python Pandas εύκολα με Loc & Iloc

Το Pandas Λειτουργεί για να αποκτήσετε βαθύτερες πληροφορίες στο σύνολο δεδομένων

df.unique()

Αυτή η συνάρτηση επιστρέφει τη λίστα με τις μοναδικές τιμές σε μια στήλη ή μια σειρά. Αντί να εφαρμόζεται σε πλήρες DataFrame, λειτουργεί μόνο στην επιλεγμένη μεμονωμένη στήλη.

Για παράδειγμα, μπορείτε να δείτε ποιοι διαφορετικοί διαχειριστές πωλήσεων είναι παρόντες στο σύνολο δεδομένων χρησιμοποιώντας αυτήν τη συνάρτηση όπως παρακάτω:

df["Sales_Manager"].unique()
τα πάντα

df.unique() | Εικόνα από συγγραφέα

df.nunique()

Αυτή η μέθοδος επιστρέφει τον αριθμό των μοναδικών εγγραφών σε κάθε στήλη. Παρόμοια με την προηγούμενη συνάρτηση, η df.nunique() μπορεί να χρησιμοποιηθεί σε μία στήλη ως:

df["Sales_Manager"].nunique()
## Output
10

Επιπλέον, μπορεί να λάβει ολόκληρο το DataFrame ως είσοδο και να επιστρέψει τον αριθμό των μοναδικών στοιχείων σε κάθε στήλη. Και κυριολεκτικά δεν χρειάζεται να περάσετε κανένα όρισμα σε αυτή τη συνάρτηση.

df.nunique()
πλαίσιο δεδομένων

df.nunique() | Εικόνα από συγγραφέα

df.isnull()

Αυτή η συνάρτηση σάς βοηθά να ελέγξετε εάν σε ποια σειρά και σε ποια στήλη λείπουν οι τιμές των δεδομένων σας.

Από df.info() γνωρίζετε ήδη ποιες στήλες έχουν τιμές που λείπουν. df.isnull() επιστρέφει την έξοδο σε μορφή Boolean — σε όρους True και False — για όλες τις σειρές σε όλες τις στήλες.

Έτσι, όταν λείπει η τιμή σε μια θέση, df.isnull() επιστρέφει True για αυτή τη θέση και επιστρέφει για όλες τις άλλες θέσεις.

df.isnull()
σειρές πλαισίων δεδομένων |  τα πάντα

df.isnull() | Εικόνα από συγγραφέα

Όπως μπορείτε να δείτε, βασικά επέστρεψε έναν πίνακα Σωστό και Λάθος του ίδιου μεγέθους με df .

Για παράδειγμα, ας υποθέσουμε ότι θέλετε να επιλέξετε ένα υποσύνολο του df, όπου λείπει η Κατηγορία Προϊόντος. Μπορείτε να το κάνετε όπως παρακάτω,

df2 = df[df["Product_Category"].isnull()]
df2
κατηγορία προιόντος

df.isnull() | Εικόνα από συγγραφέα

Με αυτόν τον τρόπο, μπορείτε να καταλάβετε εάν υπάρχουν τάσεις που σχετίζονται με δεδομένα που λείπουν.

df.fillna()

Αυτή η συνάρτηση χρησιμοποιείται για την αντικατάσταση τιμών που λείπουν ή NaN στο df με τιμές που ορίζονται από το χρήστη. Η df.fillna() παίρνει 1 απαιτούμενη και 5 προαιρετικές παραμέτρους.

Η απλούστερη χρήση — περίπτωση είναι η συμπλήρωση μιας σταθερής τιμής στη θέση όλων των τιμών που λείπουν σε ένα σύνολο δεδομένων. Για παράδειγμα, ας υποθέσουμε ότι θέλετε να αντικαταστήσετε όλο το NaN στο παραπάνω DataFrame df2 με μια συμβολοσειρά ‘MissingInfo’ το οποίο μπορεί να γίνει ως

df2.fillna("MissingInfo")
λείπουν πληροφορίες

df2.fillna() | Εικόνα από συγγραφέα

Ωστόσο, για να διατηρήσετε τις συμπληρωμένες τιμές στο DataFrame, πρέπει να εκχωρήσετε True στην παράμετρο inplace σε df.fillna()

df.sort_values()

Αυτή η συνάρτηση βοηθά στην τακτοποίηση ολόκληρου του DataFrame σε αύξουσα ή φθίνουσα σειρά με βάση μια καθορισμένη στήλη. Χρειάζεται ακριβώς 1 απαιτούμενη και 5 προαιρετικές παραμέτρους.

Για παράδειγμα, ας υποθέσουμε ότι θέλετε να ταξινομήσετε ένα df με αύξουσα σειρά της ποσότητας — που σημαίνει ότι οι εγγραφές με τη χαμηλότερη ποσότητα θα εμφανίζονται στην κορυφή. Το μόνο που χρειάζεται να κάνετε είναι να περάσετε τη στήλη Ποσότητα σε αυτήν τη συνάρτηση όπως παρακάτω.

df.sort_values("Quantity")
Αύξουσα ταξινόμηση

Αύξουσα ταξινόμηση | Εικόνα από συγγραφέα

Για να ταξινομήσετε το ίδιο DataFrame με φθίνουσα σειρά, θα πρέπει να χρησιμοποιήσετε μία από τις προαιρετικές παραμέτρους —ascending— από προεπιλογή, αυτή η παράμετρος έχει οριστεί σε True. Μπορείτε να τακτοποιήσετε το DataFrame σε φθίνουσα σειρά κάνοντας αυτήν την παράμετρο False.

df.value_counts()

Αυτή η συνάρτηση επιστρέφει — πόσες φορές εμφανίστηκε μια τιμή σε μια στήλη. Επομένως, πρέπει να περάσετε το συγκεκριμένο όνομα στήλης σε αυτήν τη συνάρτηση

Για παράδειγμα, όταν θέλετε να μετρήσετε πόσες παραγγελίες χειρίστηκε κάθε διευθυντής πωλήσεων, το μόνο που χρειάζεται να κάνετε είναι —

df.value_counts("Sales_Manager")
διευθυντής πωλήσεων

Εικόνα από συγγραφέα

df.nlargest()

Αυτή η συνάρτηση είναι χρήσιμη για τη γρήγορη λήψη πολλών μεγαλύτερων τιμών από μια συγκεκριμένη στήλη του DataFrame και όλες τις σειρές που το περιέχουν.

για παράδειγμα, η απόκτηση των κορυφαίων 10 μεγαλύτερων χρόνων παράδοσης στο σύνολο δεδομένων είναι δυνατή με —

df.nlargest(10, "Delivery_Time(Days)")
πάντα |  πλαίσιο δεδομένων

Εικόνα από συγγραφέα

df.nsmallest()

Παρόμοια με την προηγούμενη λειτουργία, df.nsmallest() σας βοηθά να λάβετε πολλές μικρότερες τιμές στο σύνολο δεδομένων.

Για παράδειγμα, μπορείτε να λάβετε τα κορυφαία 7 μικρότερα έξοδα αποστολής στο σύνολο δεδομένων χρησιμοποιώντας —

df.nsmallest(7, "Shipping_Cost(USD)")
σύνολο δεδομένων

Εικόνα από συγγραφέα

Τόσο η df.nlargest() όσο και η df.nsmallest() λαμβάνουν ακριβώς 2 απαιτούμενες και 1 προαιρετικές παραμέτρους. Μπορείτε να μάθετε περισσότερα για αυτό εδώ.

Pandas Λειτουργίες για την τροποποίηση του συνόλου δεδομένων

df.copy()

Αυτό είναι χρήσιμο για την αντιγραφή ολόκληρου του DataFrame με μία κίνηση. Περιέχει μόνο μία προαιρετική παράμετρο, την οποία πιθανώς δεν χρειάζεται να χρησιμοποιήσετε ποτέ.

Για παράδειγμα, μπορείτε να αντιγράψετε ένα υποσύνολο του df σε df1 ως κατωτέρω,

df1 = df.iloc[0:10, :].copy()
df1
σύνολο δεδομένων

Εικόνα από συγγραφέα

Έτσι, από προεπιλογή, αυτό το αντίγραφο είναι α βαθύ αντίγραφο πράγμα που σημαίνει ότι, αφού αντιγράψετε το αρχικό DataFrame σε νέο, όποιες αλλαγές κάνετε σε οποιοδήποτε από αυτά τα DataFrame δεν θα αντικατοπτρίζονται στο άλλο.

df.rename()

Αυτή είναι η απλούστερη μέθοδος για την εύκολη αλλαγή του ονόματος της επιλεγμένης στήλης. Το μόνο που χρειάζεται να κάνετε είναι να περάσετε ένα λεξικό όπου το κλειδί είναι το όνομα της παλιάς στήλης και η τιμή είναι το όνομα της νέας στήλης.

Για παράδειγμα, ας υποθέσουμε ότι θέλετε να αλλάξετε τις στήλες Shipping_Cost(USD) και Delivery_Time(Days) προς την Shipping_Cost και DeliveryTime_in_Days . Αυτό είναι πολύ απλό χρησιμοποιώντας αυτήν τη λειτουργία.

df1.rename(columns = {"Shipping_Cost(USD)": "Shipping_Cost",
                      "Delivery_Time(Days)":"DeliveryTime_in_Days"},
           inplace=True)
df1
τα πάντα

Εικόνα από συγγραφέα

Μην ξεχνάτε τη δεύτερη παράμετρο inplace για να διατηρήσετε τις αλλαγές που κάνατε στα ονόματα των στηλών.

df.where()

Αυτή η συνάρτηση ελέγχει το DataFrame για μια δεδομένη συνθήκη και αντικαθιστά τις τιμές σε όλες τις θέσεις με NaN όπου η συνθήκη είναι False.

Ας υποθέσουμε ότι έχετε προϋποθέσεις για έλεγχο —Status = ‘Not Shipped’. Πρέπει να περάσετε αυτήν τη συνθήκη στο df.where() ως —

condition = df1["Status"] == "Not Shipped"
df1.where(condition)
πλαίσιο δεδομένων

Εικόνα από συγγραφέα

Εναλλακτικά, μπορείτε επίσης να καθορίσετε ποια τιμή θέλετε να αντικαταστήσετε όταν η συνθήκη είναι false, όπως παρακάτω:

condition = df1["Status"] == "Not Shipped"
df1.where(condition, 'Condition_False')

df.drop()

Αυτή η συνάρτηση χρησιμοποιείται για την αφαίρεση καθορισμένων γραμμών ή στηλών από ένα DataFrame. Οι σειρές που πρέπει να αφαιρεθούν προσδιορίζονται από τις ετικέτες ή το ευρετήριό τους και οι στήλες προσδιορίζονται από τα ονόματα στηλών τους.

Για παράδειγμα, μπορείτε να αφαιρέσετε μια στήλη OrderCode χρησιμοποιώντας το παρακάτω μπλοκ κώδικα.

df1.drop("OrderCode", axis=1)
κωδικός παραγγελίας

Εικόνα από συγγραφέα

Ωστόσο, για να το αφαιρέσετε για πάντα, πρέπει να κάνετε inplace=True σε df.drop()

Λειτουργία Pandas για την κατανόηση της σχέσης μεταξύ όλων των στηλών

df.corr()

Αυτή η μέθοδος χρησιμοποιείται για την εύρεση συσχετίσεων ανά ζεύγη μεταξύ όλων των στηλών του DataFrame. Έτσι, όταν δεν αναφέρετε συγκεκριμένα ονόματα στηλών, επιστρέφει συντελεστές συσχέτισης Pearson για όλα τα ζεύγη στηλών στα σύνολα δεδομένων.

df1.corr()
Συντελεστές συσχέτισης Pearson

Εικόνα από συγγραφέα

Ωστόσο, όπως παρακάτω, μπορείτε πάντα να εφαρμόσετε αυτήν τη μέθοδο μόνο σε επιλεγμένες στήλες.

df1[["Quantity","Shipping_Cost"]].corr()

Ελπίζω να σας φανεί χρήσιμο αυτό το άρθρο για τα Πάντα. Αυτό καλύπτει τις περισσότερες από τις κοινώς χρησιμοποιούμενες συναρτήσεις και μεθόδους που χρησιμοποιούνται στα Python panda, τις οποίες θα χρησιμοποιήσετε στις εργασίες ανάλυσης δεδομένων σας.

Βασικά στοιχεία από αυτό το διάβασμα –

  • Λάβετε εύκολα την επισκόπηση των δεδομένων χρησιμοποιώντας τις συναρτήσεις .head(), .tail() και .info()
  • Λάβετε γρήγορα μια στατιστική περίληψη του συνόλου δεδομένων χρησιμοποιώντας τη συνάρτηση .describe()
  • Ένα επιλεγμένο υποσύνολο δεδομένων που χρησιμοποιεί ιδιότητες DataFrame panda, όπως .loc, .iloc
  • Αποκτήστε βαθύτερες πληροφορίες για τα δεδομένα χρησιμοποιώντας τις συναρτήσεις .value_counts(), .query()

Μη διστάσετε να κατεβάσετε ένα πλήρες σημειωματάριο με όλα αυτά τα παραδείγματα από το my Github

Τα μέσα που εμφανίζονται σε αυτό το άρθρο δεν ανήκουν στο Analytics Vidhya και χρησιμοποιούνται κατά την κρίση του συγγραφέα.