Python pandas -kirjaston DataFrame.mean() käytetään laskemaan kes­kiar­vo­ja yhden tai useamman DataFrame-akselin yli. Pandas mean() on vält­tä­mä­tön nu­mee­ris­ten tietojen ana­ly­soin­nis­sa. Kes­kiar­vo­jen las­ke­mi­sen lisäksi se tarjoaa myös tietoa tietojen ja­kau­tu­mi­ses­ta.

Mikä on syntaksi numerolle DataFrame.mean()?

Pandas mean() -funktio hyväksyy enintään kolme pa­ra­met­ria ja sen syntaksi on seuraava:

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

Mitä pa­ra­met­re­ja voidaan käyttää pandas Dataframe.mean kanssa?

Voit käyttää erilaisia pa­ra­met­re­ja pandas DataFrame.mean() toiminnan mu­kaut­ta­mi­seen.

Parametri Kuvaus Ole­tusar­vo
axis Määrittää, tehdäänkö laskenta rivien (axis=0) vai sa­rak­kei­den (axis=1) pe­rus­teel­la. 0
skipna Jos asetetaan arvoon True, NaN-arvot ohitetaan. True
numeric_only Jos asetetaan arvoon True, vain nu­mee­ri­set tie­to­tyy­pit si­säl­ly­te­tään las­kel­maan. False

Kuinka käyttää pandas mean()

Voit käyttää pandas DataFrame.mean() -funktiota sekä sa­rak­kei­siin että riveihin.

Sa­rak­kei­den kes­kiar­vo­jen las­ke­mi­nen

Ensin luomme pandas-tie­to­ke­hyk­sen, joka sisältää nu­mee­ris­ta dataa:

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

Tuloksena oleva DataFrame näyttää tältä:

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

Kunkin sarakkeen kes­kiar­von las­ke­mi­seen voit käyttää pandas mean() -funktiota. Ole­tusar­voi­ses­ti ak­se­li­pa­ra­met­ri on asetettu arvoon 0, joka vastaa sa­rak­kei­ta.

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

Yllä oleva koodi laskee kunkin sarakkeen (A, B ja C) kes­kiar­von las­ke­mal­la kyseisen sarakkeen ele­ment­tien summan ja jakamalla sen sarakkeen ele­ment­tien lu­ku­mää­räl­lä. Tuloksena on seuraava pandas-sarja:

A    2.5
B    5.5
C    8.5
dtype: float64

Rivien kes­kiar­vo­jen las­ke­mi­nen

Jos haluat laskea rivien kes­kiar­von, aseta parametri axis arvoon 1:

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

Pandas mean() laskee rivien kes­kiar­vot jakamalla rivin ele­ment­tien summan sen ele­ment­tien lu­ku­mää­räl­lä. Yllä olevan funktion kut­su­mi­nen tuottaa seuraavan tuloksen:

0    4.0
1    5.0
2    6.0
3    7.0
dtype: float64

NaN-arvojen käsittely

Tässä esi­mer­kis­sä käytämme erilaista DataFrame-taulukkoa, joka sisältää NaN-arvoja:

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

Yllä oleva koodi tuottaa seuraavan DataFrame-kehyksen:

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

Sa­rak­kei­den kes­kiar­vo­ja las­ket­taes­sa parametri skipna määrittää, pitäisikö NaN-arvot si­säl­lyt­tää vai jättää huomiotta. Ole­tusar­voi­ses­ti skipna on asetettu arvoon True, joten df.mean() jättää NaN-arvot au­to­maat­ti­ses­ti huomiotta. Jos haluat si­säl­lyt­tää NaN-arvot, sinun on lisättävä pa­ra­met­rik­si skipna=False. Tällöin kaikki sarakkeet, joissa on vähintään yksi NaN-arvo, pa­laut­ta­vat kes­kiar­vo­na NaN-arvon.

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

Kutsun df.mean() tulos on seuraava:

A    2.333333
B    5.666667
C    8.000000
dtype: float64
Siirry pää­va­lik­koon