Data Science – 4 – Βασικές λειτουργίες …συνέχεια

Είδαμε πως ο μέσος όρος των γκολ των γηπεδούχων είναι 1.33 γκολ και ο μέσος όρος των γκολ των φιλοξενούμενων είναι 1,07 γκολ. Ας δούμε το σύνολο των γκολ που βάλανε οι γηπεδούχοι και οι Φιλοξενούμενοι. Χρησιμοποιούμαι την μέθοδο sum. Έχουμε:

α. Γηπεδούχοι: df[‘ΣΚΟΡ_ΓΗΠ’].sum() σύνολο 243

α. Φιλοξενούμενοι: df[‘ΣΚΟΡ_ΦΙΛ‘].sum() σύνολο 196

Επομένως στο Ελληνικό πρωτάθλημα μπήκαν την σεζόν 2021-2022 σύνολο 439 γκολ ή 2.41 γκολ ανά αγώνα.

Μπορούμε να εφαρμόσουμε φίλτρα στα δεδομένα μας. Για παράδειγμα αν θέλουμε να βρούμε σε πόσους και ποιους αγώνες ο φιλοξενούμενος έβαλε 4 η περισσότερα γκολ γράφουμε:

df[df[‘ΣΚΟΡ_ΦΙΛ’] >= 4]

Αποτέλεσμα:

ds4a

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

df[(df[‘ΣΚΟΡ_ΦΙΛ’] >= 2) & (df[‘ΣΚΟΡ_ΓΗΠ’] >= 2)]

Αποτέλεσμα:

ds4b

Αν θέλουμε να μετρήσουμε τα συγκεκριμένα ματς γράφουμε:

df[(df[‘ΣΚΟΡ_ΦΙΛ’] >= 2) & (df[‘ΣΚΟΡ_ΓΗΠ’] >= 2)].count()

Αποτέλεσμα: ΑΓΩΝΙΣΤΙΚΗ 16

Αν θέλουμε το άθροισμα των γκολ για παράδειγμα για αυτές τις αγωνιστικές των Γηπεδούχων:

df.ΣΚΟΡ_ΓΗΠ[(df[‘ΣΚΟΡ_ΦΙΛ’] >= 2) & (df[‘ΣΚΟΡ_ΓΗΠ’] >= 2)].sum()

Αποτέλεσμα: 43

Θα χρειαστεί για ευκολία να φτιάξουμε και νέες στήλες στα δεδομένα μας με ενδιάμεσους υπολογισμούς που θα χρησιμοποιούμε συνέχεια. Για παράδειγμα μια στήλη με το άθροισμα των γκολ και των δύο ομάδων, μια στήλη με τον αν ο αγώνας ήρθε 1,2,Χ κ.α. Αυτά θα τα δούμε σε κάποιο επόμενο μάθημα.

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

df.ΓΗΠΕΔΟΥΧΟΣ.mode() Αποτέλεσμα: 1

Άρα το πιο σύνηθες αποτέλεσμα για τον γηπεδούχο είναι να βάζει 1 ακριβώς γκολ

Μπορούμε και σε μια σύνθετη επιλογή να βρούμε το πιο επικρατές. Στο παραπάνω παράδειγμα αν θέλαμε να βρούμε ποια ομάδα σε ματς που βάζει και ο γηπεδούχος και ο φιλοξενούμενος δύο ή περισσότερα γκολ, ποια είναι η πιο συνήθης ομάδα, τότε έχω:

df.ΦΙΛΟΞΕΝΟΥΜΕΝΟΣ[(df[‘ΣΚΟΡ_ΦΙΛ’] >= 2) & (df[‘ΣΚΟΡ_ΓΗΠ’] >= 2)].mode()

Αποτέλεσμα: ΒΟΛΟΣ

Αν θέλαμε τις 3 ή Ν πιο συνηθισμένες τιμές, χρησιμοποιούμαι την συνάρτηση value_counts()

df.ΣΚΟΡ_ΓΗΠ.value_counts()

και παίρνουμε ως αποτέλεσμα:

1 58

0 53

2 44

3 16

4 7

5 3

6 1

Επομένως σε 58 ματς μπήκαν 1 γκολ, σε 53 ματς 0 γκολ σε 44 ματς 2 γκολ κοκ (γηπεδούχος).

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

df.ΓΗΠΕΔΟΥΧΟΣ[df[‘ΣΚΟΡ_ΓΗΠ’] >= 2].value_counts()

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

ΠΑΝΑΘΗΝΑΙΚΟΣ 9

ΠΑΟΚ 8

ΑΕΚ 7

ΟΦΗ 7

ΟΛΥΜΠΙΑΚΟΣ 7

ΑΤΡΟΜΗΤΟΣ 6

ΛΑΜΙΑ 5

ΒΟΛΟΣ 4

ΑΣΤΕΡΑΣ 4

ΑΡΗΣ 4

ΓΙΑΝΝΕΝΑ 4

ΙΩΝΙΚΟΣ 3

ΠΑΝΑΙΤΩΛΙΚΟΣ 2

ΑΠΟΛΛΩΝ 1

Αν θέλουμε μόνο τις Ν πρώτες, τότε γράφουμε:

df.ΓΗΠΕΔΟΥΧΟΣ[df[‘ΣΚΟΡ_ΓΗΠ’] >= 2].value_counts()[:Ν]

Αν θέλουμε αύξουσα σειρά στην συνάρτηση, τότε βάζουμε τον τελεστή ascending = True

Κατηγορίες: data science. Προσθήκη στους σελιδοδείκτες.