String im Dataframe auslesen, ergänzen und zurückschreiben
Verfasst: Mittwoch 24. Februar 2021, 12:38
Hallo,
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:
An dieser Stelle komme ich nicht weiter. Das Erkennen des Pattern funktioniert wie erwartet. Jedoch tue ich mich schwer damit den String entsprechend mit der Jahreszahl zu ergänzen. Hat jemand einen Tip für mich.
So stelle ich mir das Ergebnis vor (hier von mir manuell ergänzt):
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"])