Ich versuche eine Berechnung in pandas unter Verwendung von Funktionen durchzuführen.
Code: Alles auswählen
df['Bezirk2022'] = steuerbetragBezirk(periodeFuss, df["EEStGem2019"], df["BEZIRK"])
Die Funktion steuerbetragBezirk sieht wie folgt aus:
Code: Alles auswählen
def steuerbetragBezirk(periode, einfachesteuer, bezirk):
betrag = bezirkFuss[periode][bezirk] * einfachesteuer
return round(betrag * 20, 0) / 20
Code: Alles auswählen
bezirkFuss = {2019: {'Schwyz': 0.55, 'Gersau': 2.2, 'March': 0.45, 'Einsiedeln': 2.3, 'Küssnacht': 1.65, 'Höfe': 0.15},
2020: {'Schwyz': 0.5 , 'Gersau': 2.1, 'March': 0.45, 'Einsiedeln': 2.3, 'Küssnacht': 1.65, 'Höfe': 0.15},
2021: {'Schwyz': 0.5 , 'Gersau': 2.1, 'March': 0.45, 'Einsiedeln': 2.3, 'Küssnacht': 1.65, 'Höfe': 0.15},
2022: {'Schwyz': 0.5 , 'Gersau': 1.9, 'March': 0.43, 'Einsiedeln': 2.2, 'Küssnacht': 1.65, 'Höfe': 0.14},
2023: {'Schwyz': 0.4 , 'Gersau': 1.9, 'March': 0.4 , 'Einsiedeln': 2.2, 'Küssnacht': 1.65, 'Höfe': 0.14},
}
Mit dieser Anwendung bekomme ich eine Fehlermeldung:
Code: Alles auswählen
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In [270], line 2
1 df['Kanton2022'] = steuerbetragKanton(periodeFuss, df["EEStKt2019"])
----> 2 df['Bezirk2022'] = steuerbetragBezirk(periodeFuss, df["EEStGem2019"], df["BEZIRK"])
3 df['Gemeindek2022'] = steuerbetragGemeinde(periodeFuss, df["EEStGem2019"], df["GEMEINDE"])
Cell In [266], line 8, in steuerbetragBezirk(periode, einfachesteuer, bezirk)
6 def steuerbetragBezirk(periode, einfachesteuer, bezirk):
7 #betrag = bezirkFuss[str(periode)][bezirk] * einfachesteuer
----> 8 betrag = bezFuss[bezirk] * einfachesteuer
9 return round(betrag * 20, 0) / 20
TypeError: unhashable type: 'Series'