# Sådan beregnes gennemsnit med pandas mean()

Funktionen `DataFrame.mean()` i Python pandas bruges til **at beregne gennemsnit** på tværs af en eller flere akser i en DataFrame. Pandas `mean()` er afgørende for analyse af numeriske data. Ud over at beregne gennemsnitsværdier giver den også indsigt i datadistributionen.

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

Funktionen pandas `mean()` accepterer **op til tre parametre** og har følgende syntaks:

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

### Hvilke parametre kan bruges med pandas `Dataframe.mean`?

Du kan bruge forskellige parametre til at tilpasse, hvordan pandas `DataFrame.mean()` fungerer.

<table>
  <thead>
    <tr>
      <th><strong>Parameter</strong></th>
      <th><strong>Beskrivelse</strong></th>
      <th><strong>Standardværdi</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`axis`</td>
      <td>Angiver, om beregningen skal foretages over rækker (`axis=0`) eller kolonner (`axis=1`)</td>
      <td>`0`</td>
    </tr>
    <tr>
      <td>`skipna`</td>
      <td>Hvis indstillet til `True`, ignoreres NaN-værdier.</td>
      <td>`True`</td>
    </tr>
    <tr>
      <td>`numeric_only`</td>
      <td>Hvis indstillet til `True`, vil kun numeriske datatyper blive inkluderet i beregningen.</td>
      <td>`False`</td>
    </tr>
  </tbody>
</table>

## Sådan bruges pandas `mean()`

Du kan anvende pandas `DataFrame.mean()` -funktionen på både kolonner og rækker.

### Beregning af gennemsnitsværdier for kolonner

Først skal vi oprette en [pandas DataFrame](https://www.ionos.com/da-dk/digitalguide/websteder/webudvikling/python-pandas-dataframe/) med nogle 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 således ud:

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

For at beregne gennemsnittet for hver kolonne kan du bruge `mean()` -funktionen. Som standard er parameteren axis indstillet til 0, hvilket svarer til kolonner.

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

Ovenstående kode beregner gennemsnittet for hver kolonne (A, B og C) ved at finde summen af elementerne i den respektive kolonne og derefter dividere den med antallet af elementer i kolonnen. Resultatet er følgende pandas-serie:

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

### Beregning af gennemsnitsværdier for rækker

Hvis du vil finde gennemsnittet for rækker, skal du blot indstille parameteren `axis` til 1:

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

Pandas `mean()` beregner række gennemsnit ved at dividere summen af elementer i en række med antallet af elementer den har. Ved at kalde ovenstående funktion får man følgende output:

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

### Håndtering af NaN-værdier

I dette eksempel bruger vi en anden DataFrame, der indeholder NaN-værdier:

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

Ovenstående kode genererer 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 gennemsnittene for kolonner beregnes, bestemmer parameteren `skipna`, om NaN-værdier skal medtages eller ignoreres. Som standard er `skipna` indstillet til `True`, så `df.mean()` ignorerer automatisk NaN-værdier. Hvis du vil medtage NaN-værdier, skal du tilføje `skipna=False` som parameter. Hvis du gør det, vil alle kolonner med mindst én NaN returnere NaN som deres gennemsnit.

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

Opkald til `df.mean()` giver følgende output:

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


This is a markdown version of: [https://www.ionos.com/da-dk/digitalguide/websteder/webudvikling/python-pandas-dataframe-gennemsnit/](https://www.ionos.com/da-dk/digitalguide/websteder/webudvikling/python-pandas-dataframe-gennemsnit/) for AI/LLM consumption.