Ottieni la media di una colonna di un DataFrame Pandas

Ahmed Waheed 30 gennaio 2023
  1. Metodo df.mean() per calcolare la media di una colonna DataFrame di Pandas
  2. Metodo df.describe()
Ottieni la media di una colonna di un DataFrame Pandas

Quando lavoriamo con set di dati di grandi dimensioni, a volte dobbiamo prendere la media o la media della colonna. Ad esempio, hai una lista di voti degli studenti e vuoi conoscere la media dei voti o qualche altra colonna. Di seguito sono elencati i diversi modi per eseguire questa operazione.

  1. metodo df.mean()
  2. metodo df.describe()

Useremo lo stesso DataFrame nelle prossime sezioni come segue,

import pandas as pd

data = {
    "name": ["Oliver", "Harry", "George", "Noah"],
    "percentage": [90, 99, 50, 65],
    "grade": [88, 76, 95, 79],
}
df = pd.DataFrame(data)

Di seguito è riportato l’esempio DataFrame.

     name  percentage  grade
0  Oliver          90     88
1   Harry          99     76
2  George          50     95
3    Noah          65     79

Metodo df.mean() per calcolare la media di una colonna DataFrame di Pandas

Prendiamo la colonna della media dei voti presente nel nostro set di dati.

import pandas as pd

data = {
    "name": ["Oliver", "Harry", "George", "Noah"],
    "percentage": [90, 99, 50, 65],
    "grade": [88, 76, 95, 79],
}
df = pd.DataFrame(data)
mean_df = df["grade"].mean()
print(mean_df)

Verrà emesso quanto segue.

84.5

Facciamo un altro esempio e applichiamo la funzione df.mean() all’intero DataFrame.

import pandas as pd

data = {
    "name": ["Oliver", "Harry", "George", "Noah"],
    "percentage": [90, 99, 50, 65],
    "grade": [88, 76, 95, 79],
}
df = pd.DataFrame(data)
mean_df = df.mean()
print(mean_df)

Non specifichiamo il nome della colonna nel metodo mean() nell’esempio precedente. Il metodo mean() determina automaticamente quali colonne sono idonee per l’applicazione della funzione mean().

Verrà emesso quanto segue.

percentage    76.0
grade         84.5
dtype: float64

Metodo df.describe()

Questo metodo crea l’output di una statistica completa del set di dati. Diamo un’occhiata a come usarlo.

import pandas as pd

data = {
    "name": ["Oliver", "Harry", "George", "Noah"],
    "percentage": [90, 99, 50, 65],
    "grade": [88, 76, 95, 79],
}
df = pd.DataFrame(data)
print(df.describe())

Produzione:

       percentage      grade
count    4.000000   4.000000
mean    76.000000  84.500000
std     22.524061   8.660254
min     50.000000  76.000000
25%     61.250000  78.250000
50%     77.500000  83.500000
75%     92.250000  89.750000
max     99.000000  95.000000

Il risultato del metodo df.describle() è un DataFrame, quindi, potresti ottenere la media di percentage e grade facendo riferimento al nome della colonna e al nome della riga.

df.describe()["grade"]["mean"]
df.describe()["percentage"]["mean"]

df.describe() può funzionare anche per colonne specifiche. Applichiamo questa funzione alla colonna grade.

import pandas as pd

data = {
    "name": ["Oliver", "Harry", "George", "Noah"],
    "percentage": [90, 99, 50, 65],
    "grade": [88, 76, 95, 79],
}
df = pd.DataFrame(data)
print(df["grade"].describe())

Verrà emesso quanto segue.

count     4.000000
mean     84.500000
std       8.660254
min      76.000000
25%      78.250000
50%      83.500000
75%      89.750000
max      95.000000
Name: grade, dtype: float64

Il risultato è Series quando viene specificata la colonna. Potremmo ottenere il valore medio facendo riferimento direttamente alla mean.

df["grade"].describe()["mean"]