Seite 1 von 1

Pandas: apply function mit mehreren Parametern auf mehreren Spalten gleichzeitig

Verfasst: Mittwoch 24. August 2022, 12:19
von naheliegend
Hallo,

Code: Alles auswählen

def replace_multiple(target, search_this, replace_with):
    for letter in search_this:
        target = target.replace(letter, replace_with)
    return target
    
   
df['first_name'] = df.apply(lambda row: replace_multiple(target=row['first_name'], search_this="ßẞ", replace_with='SS'), axis=1)
df['last_name'] = df.apply(lambda row: replace_multiple(target=row['last_name'], search_this="ßẞ", replace_with='SS'), axis=1)

Bekomme ich das Replacen nicht auch in einer Zeile hin? Stehe irgendwie auf dem Schlauch, weil das target sich pro Spalte ändert. :D

LG und danke.

Re: Pandas: apply function mit mehreren Parametern auf mehreren Spalten gleichzeitig

Verfasst: Mittwoch 24. August 2022, 12:29
von Sirius3
Hier geht das ganz einfach per regulärem Ausdruck:

Code: Alles auswählen

df['first_name'] = df['first_name'].str.replace('[ßẞ]', 'SS')

Re: Pandas: apply function mit mehreren Parametern auf mehreren Spalten gleichzeitig

Verfasst: Donnerstag 25. August 2022, 06:47
von naheliegend
Sirius3 hat geschrieben: Mittwoch 24. August 2022, 12:29 Hier geht das ganz einfach per regulärem Ausdruck:

Code: Alles auswählen

df['first_name'] = df['first_name'].str.replace('[ßẞ]', 'SS')
Aber das müsste ich dann ja für den df[''last_name] nochmal ausführen. Ich dachte ich könnte first_name und last_name in einer Zeile abfrühstücken, irgendwie.

Re: Pandas: apply function mit mehreren Parametern auf mehreren Spalten gleichzeitig

Verfasst: Donnerstag 25. August 2022, 09:23
von Sirius3
Das sind ja zwei unterschiedliche Spalten und die str-Operationen beziehen sich immer nur auf eine Spalte.