nach Tagen der Tüftelei komme ich einfach nicht weiter.
Ich vereinfache mal:
Ich habe einen pandas DataFrame.
Spalte A = Datum (%d.%m.)
Spalte B = Tag (Mo, Di, Mi, Do, Fr, Sa, So) als string
das Problem ist:
Spalte C = Datum_2 (%d.%m.)
hier soll [Datum aus Spalte A] + timedelta stehen.
Wenn in Spalte B "Fr" steht - dann plus 3 Tage, sonst plus 1 Tag.
Mit dem Programmcode setzt er aber immer ALLE Werte in der gesamten Spalte auf plus 3 oder in meinem Fall plus 1 - und NICHT zeilenbasiert.
Jemand ne Idee oder ne Ahnung wie ich den Fehler beheben kann?
Herzlichen Dank
Code: Alles auswählen
import locale
from datetime import datetime, timedelta
import pandas as pd
wiederholung = df['Wiederholung']
wiederholung = pd.to_datetime(datum, infer_datetime_format=True)
for tag in df['Tag']:
if tag == "Fr":
df['Wiederholung'] = wiederholung+timedelta(days=3)
else:
df['Wiederholung'] = wiederholung+timedelta(days=1)
df['Wiederholung'] = df['Wiederholung'].dt.strftime('%d.%m.')