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.
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"]