Hur man beräknar medelvärden med pandas mean()
Funktionen DataFrame.mean() i Python pandas används för att beräkna medelvärden över en eller flera axlar i en DataFrame. Pandas mean() är viktigt för att analysera numeriska data. Förutom att beräkna medelvärden ger det också insikter om datadistributionen.
Vad är syntaxen för DataFrame.mean()?
Funktionen pandas mean() accepterar upp till tre parametrar och har följande syntax:
DataFrame.mean(axis=None, skipna=True, numeric_only=None)pythonVilka parametrar kan användas med pandas Dataframe.mean?
Du kan använda olika parametrar för att anpassa hur pandas DataFrame.mean() fungerar.
| Parameter | Beskrivning | Standardvärde |
|---|---|---|
axis
|
Anger om beräkningen ska göras över rader (axis=0) eller kolumner (axis=1).
|
0
|
skipna
|
Om inställt på True ignoreras NaN-värden.
|
True
|
numeric_only
|
Om inställt på True kommer endast numeriska datatyper att inkluderas i beräkningen.
|
False
|
Hur man använder pandas mean()
Du kan använda funktionen pandas DataFrame.mean() på både kolumner och rader.
Beräkna medelvärden för kolumner
Först ska vi skapa en pandas DataFrame med några numeriska data:
import pandas as pd
data = {
'A': [1, 2, 3, 4],
'B': [4, 5, 6, 7],
'C': [7, 8, 9, 10]
}
df = pd.DataFrame(data)
print(df)pythonDen resulterande DataFrame ser ut så här:
A B C
0 1 4 7
1 2 5 8
2 3 6 9
3 4 7 10För att beräkna genomsnittet för varje kolumn kan du använda funktionen pandas mean(). Som standard är parametern axis inställd på 0, vilket motsvarar kolumner.
column_means = df.mean()
print(column_means)pythonKoden ovan beräknar medelvärdet för varje kolumn (A, B och C) genom att ta summan av elementen i respektive kolumn och sedan dividera den med antalet element i kolumnen. Resultatet är följande pandas-serie:
A 2.5
B 5.5
C 8.5
dtype: float64Beräkning av medelvärden för rader
Om du vill hitta medelvärdet för raderna, ställer du helt enkelt in parametern axis på 1:
row_means = df.mean(axis=1)
print(row_means)pythonPandas mean() beräknar radgenomsnitt genom att dividera summan av elementen i en rad med antalet element den har. När man anropar funktionen ovan får man följande utdata:
0 4.0
1 5.0
2 6.0
3 7.0
dtype: float64Hantering av NaN-värden
I det här exemplet använder vi en annan DataFrame som innehåller NaN-värden:
import pandas as pd
import numpy as np
data = {
'A': [1, 2, np.nan, 4],
'B': [4, np.nan, 6, 7],
'C': [7, 8, 9, np.nan]
}
df = pd.DataFrame(data)
print(df)pythonKoden ovan genererar följande DataFrame:
A B C
0 1.0 4.0 7.0
1 2.0 NaN 8.0
2 NaN 6.0 9.0
3 4.0 7.0 NaNNär genomsnittet för kolumner beräknas avgör parametern skipna om NaN-värden ska inkluderas eller ignoreras. Som standard är skipna inställt på True, så df.mean() ignorerar automatiskt NaN-värden. Om du vill inkludera NaN-värden måste du lägga till skipna=False som parameter. Om du gör det kommer alla kolumner med minst ett NaN-värde att returnera NaN som sitt medelvärde.
mean_with_nan = df.mean()
print(mean_with_nan)pythonNär man ringer df.mean() får man följande resultat:
A 2.333333
B 5.666667
C 8.000000
dtype: float64