Funk­tio­nen DataFrame.mean() i Python pandas används för att beräkna me­del­vär­den över en eller flera axlar i en DataFrame. Pandas mean() är viktigt för att analysera numeriska data. Förutom att beräkna me­del­vär­den ger det också insikter om data­dis­tri­bu­tio­nen.

Vad är syntaxen för DataFrame.mean()?

Funk­tio­nen pandas mean() ac­cep­te­rar upp till tre pa­ra­met­rar och har följande syntax:

DataFrame.mean(axis=None, skipna=True, numeric_only=None)
python

Vilka pa­ra­met­rar kan användas med pandas Dataframe.mean?

Du kan använda olika pa­ra­met­rar för att anpassa hur pandas DataFrame.mean() fungerar.

Parameter Be­skriv­ning Stan­dard­vär­de
axis Anger om be­räk­ning­en 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 in­klu­de­ras i be­räk­ning­en. False

Hur man använder pandas mean()

Du kan använda funk­tio­nen pandas DataFrame.mean() på både kolumner och rader.

Beräkna me­del­vär­den 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)
python

Den re­sul­te­ran­de DataFrame ser ut så här:

A  B    C
0  1  4    7
1  2  5    8
2  3  6    9
3  4  7  10

För att beräkna ge­nom­snit­tet för varje kolumn kan du använda funk­tio­nen pandas mean(). Som standard är pa­ra­me­tern axis inställd på 0, vilket motsvarar kolumner.

column_means = df.mean()
print(column_means)
python

Koden ovan beräknar me­del­vär­det för varje kolumn (A, B och C) genom att ta summan av elementen i re­spek­ti­ve kolumn och sedan dividera den med antalet element i kolumnen. Re­sul­ta­tet är följande pandas-serie:

A    2.5
B    5.5
C    8.5
dtype: float64

Beräkning av me­del­vär­den för rader

Om du vill hitta me­del­vär­det för raderna, ställer du helt enkelt in pa­ra­me­tern axis på 1:

row_means = df.mean(axis=1)
print(row_means)
python

Pandas mean() beräknar rad­ge­nom­snitt genom att dividera summan av elementen i en rad med antalet element den har. När man anropar funk­tio­nen ovan får man följande utdata:

0    4.0
1    5.0
2    6.0
3    7.0
dtype: float64

Hantering av NaN-värden

I det här exemplet använder vi en annan DataFrame som in­ne­hål­ler 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)
python

Koden 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  NaN

När ge­nom­snit­tet för kolumner beräknas avgör pa­ra­me­tern skipna om NaN-värden ska in­klu­de­ras eller ignoreras. Som standard är skipna inställt på True, så df.mean() ignorerar au­to­ma­tiskt 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 me­del­vär­de.

mean_with_nan = df.mean() 
print(mean_with_nan)
python

När man ringer df.mean() får man följande resultat:

A    2.333333
B    5.666667
C    8.000000
dtype: float64
Gå till huvudmeny