Skip to content

Imputation in Pandas

Fehlende Werte in Datensätzen sind ein häufiges Problem in der Datenanalyse. Sie können durch Messfehler, nicht beantwortete Fragen in Umfragen oder technische Probleme entstehen. Die Imputation (Ersetzung) fehlender Werte kann durch verschieden komplexe Methoden erfolgen (wie Durchschnitt oder lineare Interpolation).

Grundlegende Imputationsmethoden

Die einfachste Form der Imputation ist das Ersetzen fehlender Werte durch einen konstanten Wert. Diese ist in Befüllen von fehlenden Werten schon beschrieben.

Fortgeschrittene Imputationsmethoden

Für Zeitreihendaten bietet Pandas verschiedene Interpolationsmethoden an. Mit einer linearen Interpolation werden die Daten zwischen den nächsten existierenden Werten durch eine gerade Linie interpoliert.

import pandas as pd

data = {
    'Zeitstempel': ['2025-02-01 08:00', '2025-02-01 09:00', '2025-02-01 10:00', 
                    '2025-02-01 11:00', '2025-02-01 12:00', '2025-02-01 13:00'],
    'Temperatur': [21.5, 22.0, None, None, 24.5, 25.0]
}

df = pd.DataFrame(data)
df['Zeitstempel'] = pd.to_datetime(df['Zeitstempel'])
df = df.set_index('Zeitstempel')

print("Originale Zeitreihendaten mit fehlenden Werten:")
print(df)

# Lineare Interpolation
df_linear = df.interpolate(method='linear')

print("\nDataFrame nach linearer Interpolation:")
print(df_linear)

Ausgabe:

Originale Zeitreihendaten mit fehlenden Werten:
                     Temperatur
Zeitstempel                    
2025-02-01 08:00:00        21.5
2025-02-01 09:00:00        22.0
2025-02-01 10:00:00         NaN
2025-02-01 11:00:00         NaN
2025-02-01 12:00:00        24.5
2025-02-01 13:00:00        25.0

DataFrame nach linearer Interpolation:
                     Temperatur
Zeitstempel                    
2025-02-01 08:00:00   21.500000
2025-02-01 09:00:00   22.000000
2025-02-01 10:00:00   22.833333
2025-02-01 11:00:00   23.666667
2025-02-01 12:00:00   24.500000
2025-02-01 13:00:00   25.000000