ich habe in einem Pandas Dataframe einen String. In diesem String möchte ich ein Teil ergänzen. Der String sieht folgendermaßen aus:
ist: "ölkasdöjfasdkölnfaös 20.12 14:58 asdssa"
Soll: "ölkasdöjfasdkölnfaös 20.12.2019 14:58 asdssa"
Mein Ansatz war der folgende:
Code: Alles auswählen
%config Completer.use_jedi = False
import pandas as pd
df = pd.DataFrame([["asdfasdf 10.02 10:31 Meas", "10.02.2021"],
["ölkasdöjfasdkölnfaös 20.12 14:58 asdssa", "20.12.2019"],
["01234Abcde15.11 12:01 Uhr","08.09.2015"]],columns=["Text", "Fälligkeit"])
df["Fälligkeit"] = pd.to_datetime(df["Fälligkeit"])
pat = r"([0-9]{2}.[0-9]{2} [0-9]{2}:[0-9]{2})"
df["Text"] = df["Text"].replace(df["Text"].str.extract(pat),
df["Text"].str.extract(pat)[0:5] + str(df["Fälligkeit"].dt.year) + df["Text"].str.extract(pat)[-5:],
regex = True)
So stelle ich mir das Ergebnis vor (hier von mir manuell ergänzt):
Code: Alles auswählen
df = pd.DataFrame([["asdfasdf 10.02.2021 10:31 Meas", "10.02.2021"],
["ölkasdöjfasdkölnfaös 20.12.2019 14:58 asdssa", "20.12.2019"],
["01234Abcde15.11.2015 12:01 Uhr","08.09.2015"]],columns=["Text", "Fälligkeit"])
df["Fälligkeit"] = pd.to_datetime(df["Fälligkeit"])