Pandas Groupby Average

Pandas Groupby Average



Όταν προσθέτουμε δύο ή περισσότερες τιμές μαζί και το άθροισμά τους διαιρείται με τον συνολικό αριθμό των τιμών που προστίθενται μαζί, το αποτέλεσμα είναι ένας μέσος όρος. Το Pandas Mean επιστρέφει τον μέσο όρο των δεδομένων ή της τιμής κατά μήκος ενός δεδομένου άξονα. Μια σειρά με τον μέσο όρο κατά μήκος ενός άξονα θα επιστραφεί από τα panda εάν η μέθοδος mean() εφαρμοστεί σε ένα πλαίσιο δεδομένων. Τα panda επιστρέφουν μια αριθμητική τιμή (μονός αριθμός) εάν χρησιμοποιείται το 'mean()' σε μια σειρά. Οι συναρτήσεις μπορούν να εφαρμοστούν στις κατηγορίες μετά τη δημιουργία των ομάδων κατηγοριών. Είναι μια απλή ιδέα αλλά μια εξαιρετικά αποτελεσματική τεχνική που εφαρμόζεται συχνά στην επιστήμη των δεδομένων. Μας επιτρέπει να δημιουργήσουμε μια σύνοψη των δεδομένων για κάθε ομάδα, να εφαρμόσουμε τροποποιήσεις για συγκεκριμένες ομάδες και να εκτελέσουμε φιλτράρισμα δεδομένων. Με τη συνάρτηση groupby(), το αντικείμενο μπορεί να διαιρεθεί, να εφαρμοστεί μια συνάρτηση και στη συνέχεια να συνδυαστούν τα προϊόντα. Με αυτό μπορούν να ομαδοποιηθούν μεγάλα σύνολα δεδομένων και μπορούν να εκτελεστούν λειτουργίες στις ομάδες.

Πώς να χρησιμοποιήσετε τη μέθοδο groupby.mean() στα Pandas;

Για να υπολογίσουμε τον μέσο όρο ενός πλαισίου δεδομένων ή τον μέσο όρο συγκεκριμένων στηλών ενός πλαισίου δεδομένων, μπορούμε να χρησιμοποιήσουμε τη συνάρτηση groupby.mean(). Θα δείξουμε πώς να το χρησιμοποιήσετε στα ακόλουθα παραδείγματα.







Παράδειγμα # 01: Προσδιορίστε τον μέσο όρο μιας μονής ακέραιας στήλης ομαδοποιώντας τα δεδομένα μιας ενιαίας στήλης

Χρησιμοποιώντας τη συνάρτηση pd.DataFrame(), θα δημιουργήσουμε πρώτα ένα dataframe ώστε να μπορούμε να χωρίσουμε τα δεδομένα της στήλης ή των στηλών του dataframe σε ομάδες και στη συνέχεια να βρούμε τη μέση τιμή τους. Πριν δημιουργήσουμε το πλαίσιο δεδομένων, πρέπει να εισαγάγουμε τη μονάδα pandas μαζί με τη βιβλιοθήκη numpy.





Όπως φαίνεται, δημιουργήσαμε το πλαίσιο δεδομένων μας χρησιμοποιώντας το λεξικό pandas. Έχουμε 3 στήλες στο πλαίσιο δεδομένων df, δηλαδή «στοιχεία», «κατασκευαστής» και «ποσότητα». Στη στήλη 'στοιχεία', έχουμε αποθηκεύσει τις τιμές ('πουκάμισο', 'γραβάτα', 'παντελόνι', 'πουκάμισο', 'γραβάτα', 'παντελόνι', 'πουκάμισο', 'παντελόνι', 'παντελόνι', ' ισοπαλία'), ενώ  οι στήλες «κατασκευαστής» και  «ποσότητα» που περιέχουν τις τιμές ('ιταλία', 'γαλλία', 'κίνα', 'γαλλία',  'κίνα', 'ιταλία', 'κίνα', 'ιταλία', «γαλλία», «κίνα») και (13, 16, 21, 32, 26, 41, 24, 42, 12, 15) αντίστοιχα. Ας ομαδοποιήσουμε τις τιμές στη στήλη του κατασκευαστή και ας προσδιορίσουμε τη μέση τιμή ποσότητας για κάθε ξεχωριστό κατασκευαστή.





Η τιμή κατασκευαστή «Κίνα» έχει μέση τιμή ποσότητας 21,5, η μέση τιμή ποσότητας για τη «γαλλία» είναι 20,0 και η μέση τιμή ποσότητας για την «Ιταλία» είναι 32,0. Μπορούμε επίσης να καθορίσουμε ένα ευρετήριο στην έξοδο χρησιμοποιώντας τη συνάρτηση reset_index με τη συνάρτηση groupby.mean().



Παράδειγμα # 02: Βρείτε τη μέση τιμή μιας στήλης μεμονωμένης αιώρησης ομαδοποιώντας τα δεδομένα μιας μεμονωμένης στήλης

Είδαμε πώς μπορούμε να βρούμε τον μέσο όρο της στήλης ακέραιου μετά την ομαδοποίηση των δεδομένων. Τώρα ας δοκιμάσουμε μια άλλη στήλη τύπου δεδομένων όπως το float. Ένα πλαίσιο δεδομένων με τουλάχιστον μία στήλη με τιμές float θα δημιουργηθεί χρησιμοποιώντας τη συνάρτηση pd.DataFrame().

Βάζοντας ένα λεξικό μέσα στο pd.DataFrame(), δημιουργήσαμε ένα πλαίσιο δεδομένων με τρεις στήλες. Η στήλη 'όνομα' αποθηκεύει τα ονόματα ορισμένων τυχαίων παικτών ('Sam', 'Jay', 'Leo', 'Mike', 'Will', 'Billy', 'Jhonny', 'Lara', 'Hanna', 'Tony'), η στήλη 'ομάδα' που αντιπροσωπεύει την ομάδα στην οποία ανήκει κάθε παίκτης ('A', 'A', 'B',  'A', 'B', 'A', 'C', 'B' ', 'C', 'C') και η στήλη 'ύψος' αποθηκεύει τα ύψη κάθε παίκτη ως κινητή τιμή (5,6, 5,4, 6,3, 5,2, 5,5, 6,4, 5,6, 5,8, 6,0, 5,2). Ας ομαδοποιήσουμε τα δεδομένα στη στήλη «ομάδα» και ας προσδιορίσουμε τη μέση τιμή ύψους για κάθε διακριτή τιμή «ομάδας».

Μπορείτε να δείτε ότι η μέση τιμή ύψους των παικτών της ομάδας Α είναι 5,65, ενώ τα μέσα ύψη των παικτών στις ομάδες Β και Γ είναι 5,866 και 5,6, αντίστοιχα.

Παράδειγμα # 03: Προσδιορίστε τη μέση τιμή πολλαπλών στηλών χρησιμοποιώντας τη συνάρτηση groupby.mean()

Στα προηγούμενα παραδείγματα, προσδιορίσαμε τον μέσο όρο μιας στήλης. Ωστόσο, ο μέσος όρος πολλών στηλών για κάθε ομάδα μπορεί επίσης να προσδιοριστεί. Ας δημιουργήσουμε ένα πλαίσιο δεδομένων με περισσότερες από μία αριθμητικές στήλες, μετά την εισαγωγή των panda και των numpy modules.

Στο πλαίσιο δεδομένων που δημιουργήθηκε πρόσφατα, υπάρχουν τρεις στήλες με τις ετικέτες «όνομα», «βαθμολογία» και «αντιστοιχίσεις». Τα ονόματα στηλών έχουν τις τιμές δεδομένων ως συμβολοσειρά  ('Ron', 'Jim', 'Dany', 'Jim', 'Jim', 'Dany', 'Ron', 'Ron', 'Dany', 'Jim' ), ενώ το 'score' και το 'match' αποτελούνται από αριθμητικά δεδομένα ως (3, 4, 2, 4, 1, 5, 2, 3, 1, 2) και (2, 3, 1, 2, 1, 3 , 4, 1, 2, 1). Τώρα ας βρούμε τον μέσο όρο της στήλης «βαθμολογία» και «αντιστοιχίσεις» αφού ομαδοποιήσουμε τα δεδομένα της στήλης «όνομα». Η συνάρτηση groupby.mean() θα χρησιμοποιηθεί για αυτό.

Παρατηρείται ότι ο όμιλος «Dany» έχει μέσο όρο βαθμολογίας 2,66 σε 2,00 αγώνες. Ο όμιλος Jim έχει μέσο όρο βαθμολογίας 2,75 και η μέση αξία των αγώνων που παίχτηκαν είναι 1,75. Ενώ η ομάδα «Ron» έχει μέση τιμή βαθμολογίας 2,66 και η μέση αξία των αγώνων που παίχτηκαν είναι 2,33.

Ο μέσος όρος μιας ομάδας κατηγοριών ανά αντικείμενο μπορεί επίσης να υπολογιστεί χρησιμοποιώντας τη μέθοδο agg(). Θα δώσουμε τον μέσο όρο ως όρισμα στη συνάρτηση agg(). Για να αθροίσουμε χρησιμοποιώντας μεμονωμένες ή πολλαπλές πράξεις σε έναν δεδομένο άξονα, μπορούμε να χρησιμοποιήσουμε τη συνάρτηση agg().

Η έξοδος είναι ίδια με πριν.

Παράδειγμα # 04: Προσδιορίστε τη μέση τιμή συγκεκριμένων στηλών ομαδοποιώντας τις πολλαπλές στήλες

Στα παραδείγματα 1, 2 και 3, έχουμε ομαδοποιήσει τις τιμές ή τα δεδομένα μιας στήλης. Τώρα θα ομαδοποιήσουμε πολλές στήλες χρησιμοποιώντας τη λίστα με τις ετικέτες στηλών μέσα στη συνάρτηση groupby() και, στη συνέχεια, θα βρούμε τη μέση τιμή για κάθε ομάδα. Ένα λεξικό «d» θα περάσει μέσα στη συνάρτηση pd.Dataframe() ως είσοδος για τη δημιουργία του πλαισίου δεδομένων.

Έχουμε δημιουργήσει το απαιτούμενο πλαίσιο δεδομένων. Η στήλη 'αθλήματα' αποθηκεύει το όνομα ορισμένων αθλημάτων ('Μπάντμιντον', 'ποδόσφαιρο', 'τένις', 'μπάσκετ', 'ποδόσφαιρο', 'τένις', 'μπάσκετ', 'ποδόσφαιρο', 'Μπάντμιντον', ' μπάσκετ', 'μπάσκετ', 'τένις'), τα ονόματα των χωρών ('Κίνα', 'Ρωσία', 'Ιταλία', 'Ισπανία', 'Ρωσία', 'Ιταλία', 'Κίνα', 'Ιταλία', ' Ισπανία», «Κίνα», «Ρωσία», «Ιταλία») αποθηκεύονται στη στήλη «χώρα». Ενώ στη στήλη «νίκη» έχουμε αποθηκεύσει τον αριθμό των αγώνων που κέρδισε κάθε χώρα σε κάθε άθλημα (13, 10, 6, 7, 10, 12, 7, 11, 8, 13, 11, 6). Ας χρησιμοποιήσουμε τη συνάρτηση groupby.mean() για να βρούμε τον μέσο όρο των τιμών της στήλης «win» ομαδοποιώντας τις στήλες «sports» και «country».

Η συνάρτηση έχει προσδιορίσει με επιτυχία τους μέσους όρους των τιμών στηλών «νίκης» για κάθε άθλημα στη χώρα. Το ομαδοποιημένο πλαίσιο δεδομένων μπορεί να μηδενιστεί χρησιμοποιώντας τη συνάρτηση reset_index(), η οποία δημιουργεί επίσης ένα νέο ευρετήριο, δίνοντάς του μια κατάλληλη δομή πλαισίου δεδομένων.

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

συμπέρασμα

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