Einführung in groupby
und shift
#
Die Methode groupby
erlaubt uns, Funktionen auf Gruppen von Zeilen anzuwenden. Wir berechnen hier das das Durchschnittseinkommen über einige Jahre hinweg.
Die Methode shift
erlaubt das zeilenweise verschieben eines DataFrames. Sie ist sehr sinnvoll, um z.B. Grenzsteuersätze auszurechnen oder Werte aus vergangenen Perioden (lags) in die gleiche Zeile zu bekommen. Kombiniert mit groupby
kann sie auch innerhalb von Gruppen angewendet werden.
import numpy as np
import pandas as pd
einkommen = pd.DataFrame(
[
{"p_id": 0, "jahr": 2019, "einkommen_m": 1000},
{"p_id": 0, "jahr": 2020, "einkommen_m": 2000},
{"p_id": 0, "jahr": 2021, "einkommen_m": 3000},
{"p_id": 1, "jahr": 2019, "einkommen_m": 1000},
{"p_id": 1, "jahr": 2021, "einkommen_m": 3000},
{"p_id": 2, "jahr": 2020, "einkommen_m": 2000},
{"p_id": 2, "jahr": 2021, "einkommen_m": 3000},
{"p_id": 3, "jahr": 2019, "einkommen_m": 1000},
],
)
einkommen
Index vernünftig setzen#
Zeilenweises verschieben mit shift
#
Achtung Das Verschieben funktioniert zeilenweise ohne Beachtung des Index. Für Individuum 1 ist zumindest der Name lag_einkommen_m
irreführend.