# Hvordan beregne gjennomsnitt med pandas mean()

Funksjonen `DataFrame.mean()` i Python pandas brukes til **å beregne gjennomsnitt** over en eller flere akser i en DataFrame. Pandas `mean()` er viktig for å analysere numeriske data. I tillegg til å beregne gjennomsnittsverdier, gir den også innsikt i fordelingen av data.

## Hva er syntaksen for `DataFrame.mean()`?

Funksjonen pandas `mean()` aksepterer **opptil tre parametere** og har følgende syntaks:

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

### Hvilke parametere kan brukes med pandas `Dataframe.mean`?

Du kan bruke forskjellige parametere for å tilpasse hvordan pandas `DataFrame.mean()` fungerer.

<table>
  <thead>
    <tr>
      <th><strong>Parameter</strong></th>
      <th><strong>Beskrivelse</strong></th>
      <th><strong>Standardverdi</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`axis`</td>
      <td>Angir om beregningen skal gjøres over rader (`axis=0`) eller kolonner (`axis=1`)</td>
      <td>`0`</td>
    </tr>
    <tr>
      <td>`skipna`</td>
      <td>Hvis satt til `True`, vil NaN-verdier ignoreres.</td>
      <td>`True`</td>
    </tr>
    <tr>
      <td>`numeric_only`</td>
      <td>Hvis satt til `True`, vil bare numeriske datatyper bli inkludert i beregningen.</td>
      <td>`False`</td>
    </tr>
  </tbody>
</table>

## Hvordan bruke pandas `mean()`

Du kan bruke `DataFrame.mean()` -funksjonen på både kolonner og rader.

### Beregning av gjennomsnittsverdier for kolonner

Først skal vi opprette en [pandas DataFrame](https://www.ionos.com/nb-no/digitalguide/nettsteder/webutvikling/python-pandas-dataframe/) med noen numeriske data:

```python
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)
```

Den resulterende DataFrame ser slik ut:

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

For å beregne gjennomsnittet for hver kolonne kan du bruke `mean()` -funksjonen. Som standard er parameteren axis satt til 0, som tilsvarer kolonner.

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

Koden ovenfor beregner gjennomsnittet for hver kolonne (A, B og C) ved å finne summen av elementene i den respektive kolonnen og deretter dele den med antall elementer i kolonnen. Resultatet er følgende pandas-serie:

```none
A    2.5
B    5.5
C    8.5
dtype: float64
```

### Beregning av gjennomsnittsverdier for rader

Hvis du vil finne gjennomsnittet for rader, setter du bare parameteren `axis` til 1:

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

Pandas `mean()` beregner radgjennomsnitt ved å dele summen av elementene i en rad med antall elementer den har. Når du kaller funksjonen ovenfor, får du følgende utdata:

```none
0    4.0
1    5.0
2    6.0
3    7.0
dtype: float64
```

### Håndtering av NaN-verdier

I dette eksemplet bruker vi en annen DataFrame, som inneholder NaN-verdier:

```python
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)
```

Koden ovenfor produserer følgende DataFrame:

```none
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 gjennomsnittet for kolonner beregnes, avgjør parameteren `skipna` om NaN-verdier skal inkluderes eller ignoreres. Som standard er `skipna` satt til `True`, slik at `df.mean()` automatisk ignorerer NaN-verdier. Hvis du vil inkludere NaN-verdier, må du legge til `skipna=False` som parameter. Da vil alle kolonner med minst én NaN returnere NaN som gjennomsnitt.

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

Når du ringer `df.mean()`, får du følgende utdata:

```none
A    2.333333
B    5.666667
C    8.000000
dtype: float64
```


This is a markdown version of: [https://www.ionos.com/nb-no/digitalguide/nettsteder/webutvikling/python-pandas-dataframe-gjennomsnitt/](https://www.ionos.com/nb-no/digitalguide/nettsteder/webutvikling/python-pandas-dataframe-gjennomsnitt/) for AI/LLM consumption.