Ich lerne gerade Python/Pandas und mag, wie mächtig und prägnant es ist.Mit Regex übereinstimmende Gruppen in Pandas Dataframe ersetzen Funktion
Während der Datenbereinigung möchte ich ersetzen auf eine Spalte in einem Datenrahmen mit Regex, aber ich möchte Teile der Übereinstimmung (Gruppen) einfügen.
Einfaches Beispiel: Nachname, Vorname -> Vorname Nachname
Ich habe versucht, so etwas wie die folgende (tatsächlicher Fall ist komplexer, so die einfache regex entschuldigen):
df['Col1'].replace({'([A-Za-z])+, ([A-Za-z]+)' : '\2 \1'}, inplace=True, regex=True)
Dies führt jedoch in leere Werte. Der Übereinstimmungsteil funktioniert wie erwartet, der Wertteil jedoch nicht. Ich denke, dass dies durch einige Spaltung und Zusammenführung erreicht werden könnte, aber ich suche nach einer allgemeinen Antwort, ob die Regex-Gruppe ersetzt werden kann.
Bitte, einige Daten zum Testen teilen. – Abdou
oder 'df ['Col1']. Ersetze ({'([A-Za-z] +), ([A-Za-z] +)': '\\ 2 \\ 1'}, inplace = Wahr , Regex = True) '. – Abdou
Wirklich toll! Ich lerne gerade Python, entschuldige bitte den Anfängerfehler. Zusätzliche Frage: Beide Möglichkeiten Broadcast, d. H. Sind die beiden schnell, die über .str und die mit replace() direkt? –