Ich stehe seit 2 Tagen auf dem Schlauch. Gestern meinte ich zwar, eine Lösung gefunden (gegooglet) zu haben, aber irgendwie klappt's nicht. Hier folgendes Problem:
df = pd.DataFrame({"C1": ["a", "a", "e"], "C2": ['guxt.a-el', 'data inn', 'Der Ul,t.PC']})
Ich möchte nun eine Spalte C3 erstellen, die abhängig ist von C2 und zwar wie folgt:
Kopiere C2, aber lösche folgende Zeichen:
. , -
Ausserdem lösche folgende Buchstaben, wenn sie in folgender Liste erscheinen:
["PC", "inn", "Der", "x"]
der erste Teil funktioniert mit translate. Der zweite Teil funktioniert leider gar nicht; deshalb habe ich ihn als Kommentar gesetzt (#) Hier ist der Code. Wäre dankbar, wenn darauf hingewiesen wird, wo der Fehler ist:
Code: Alles auswählen
import pandas
df = pd.DataFrame({"C1": ["a", "a", "e"], "C2": ['guxt.a-el', 'data inn', 'Der Ul,t.PC']})
df["C3"] = "x"
def neuC3():
dellist=["PC", "inn", "Der", "x"]
for k, v in df.iterrows():
df.ix[k, "C3"] = df.ix[k, "C2"].translate(None, ".,-")
#for dellist in df.ix[k, "C2"]:
#df.ix[k, "C3"] = df.ix[k, "C2"].replace(dellist, "")
return df
Wie mache ich das am effektivsten?
Ich danke Euch für die Hilfe. Ich erkenne einen Fortschritt bei mir, jedoch komme ich leider des Öfteren (noch) an meine Grenzen