# Hvad er Pandas fillna(), og hvordan bruges det?

Python -funktionen pandas `DataFrame.fillna()` bruges til **at erstatte manglende værdier i en DataFrame**. Dette kan hjælpe med at forenkle datarensningsprocesser eller være et nyttigt værktøj, når der udføres analyser.

## Hvad er syntaksen for pandas `fillna()`?

Funktionen `fillna()` accepterer **op til fem parametre** og er opbygget som følger:

```python
DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None)
```

### Vigtige parametre for `fillna()`

F `DataFrame.fillna()` s adfærd kan justeres ved hjælp af forskellige parametre:

<table>
  <thead>
    <tr>
      <th><strong>Parameter</strong></th>
      <th><strong>Beskrivelse</strong></th>
      <th><strong>Standardværdi</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`value`</td>
      <td>En skalærværdi eller en ordbog (eller serie) til erstatning af NaN’er</td>
      <td>`None`</td>
    </tr>
    <tr>
      <td>`method`</td>
      <td>Angiver udfyldningsmetoden; fremadrettet udfyldning (`ffill`) eller bagudrettet udfyldning (`bfill`)</td>
      <td>`None`</td>
    </tr>
    <tr>
      <td>`axis`</td>
      <td>Bestemmer, hvilken akse operationen skal udføres på (0 eller `index` for rækker, 1 eller `columns` for kolonner)</td>
      <td>0</td>
    </tr>
    <tr>
      <td>`inplace`</td>
      <td>Hvis `True`, foretages ændringerne direkte i den oprindelige DataFrame.</td>
      <td>`False`</td>
    </tr>
    <tr>
      <td>`limit`</td>
      <td>Et heltal, der begrænser antallet af NaN-værdier, der skal erstattes.</td>
      <td>`None`</td>
    </tr>
  </tbody>
</table>

Note I fremtidige versioner af Pandas vil parameteren `method` **sandsynligvis ikke længere blive understøttet**. Hvis dette sker, kan du i stedet bruge `obj.ffill()` eller `obj.bfill()`, da disse funktioner har samme effekt som parameteren `method`.

## Sådan bruges Pandas `DataFrame.fillna()`

Pandas `fillna()` -funktionen kan bruges på flere forskellige måder:

### Erstatning af NaN-værdier med en fast værdi

Først skal vi oprette en DataFrame:

```python
import pandas as pd
# Sample DataFrame with different values
data = {
    'A': [1, 2, None, 4],
    'B': [None, 2, 3, 4],
    'C': [1, None, 3, 4]
}
df = pd.DataFrame(data)
print(df)
```

DataFrame ser således ud:

```none
A    B    C
0  1.0  NaN  1.0
1  2.0  2.0  NaN
2  NaN  3.0  3.0
3  4.0  4.0  4.0
```

Note I pandas fortolkes værdien `None` i DataFrames og Series som `NaN`

For at erstatte de manglende værdier med 0 kan du bruge pandas `fillna()` -funktionen:

```python
# Replacing missing values with zero
df_filled = df.fillna(0)
print(df_filled)
```

Resultatet er, at alle NaN-værdier er blevet erstattet med 0:

```none
A    B    C
0  1.0  0.0  1.0
1  2.0  2.0  0.0
2  0.0  3.0  3.0
3  4.0  4.0  4.0
```

### Brug af fremadrettet udfyldningsmetode `ffill`

Hvis du vil udfylde NaN-værdier med den værdi, der ligger umiddelbart foran dem i den kolonne, hvor de befinder sig, kan du overføre metoden `ffill` som parameter:

```python
# Replace all NaN values with the value that precedes them
df_ffill = df.fillna(method='ffill')
print(df_ffill)
```

I dette eksempel er NaN-værdierne i kolonne A og C blevet udfyldt med de foregående værdier i samme kolonne. Da der ikke var nogen foregående værdi i kolonne B for række 0, bevares NaN-værdien:

```none
A    B    C
0  1.0  NaN  1.0
1  2.0  2.0  1.0
2  2.0  3.0  3.0
3  4.0  4.0  4.0
```

### Brug af bagudfyldningsmetoden `bfill` til rækker

NaN-værdier kan også udfyldes med efterfølgende værdier baseret på deres rækkeplacering. For at gøre dette skal du bruge metoden `bfill` og indstille parameteren `axis` til 1:

```python
df_bfill = df.fillna(method='bfill', axis=1)
print(df_bfill)
```

Resultatet viser, at NaN-værdierne i række 0 og 2 er blevet erstattet af de værdier, der følger efter dem i samme række. NaN-værdien i den første række forbliver dog den samme, da det er den sidste værdi i den række:

```none
A    B    C
0  1.0  1.0  1.0
1  2.0  2.0  NaN
2  3.0  3.0  3.0
3  4.0  4.0  4.0
```


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