Pandas dataframe: abschneiden, string-Felder
Ich habe einen dataframe und würde gerne abschneiden, jedes Feld bis zu 20 Zeichen. Ich habe naiv versucht, die folgenden:
df = df.astype(str).apply(lambda x: x[:20])
allerdings hat es keinerlei Auswirkungen. Wenn, jedoch wollte ich hinzufügen, dass ein 'Y' für jedes Feld, das funktioniert wie ein Charme:
df = df.astype(str).apply(lambda x: x+'Y')
Was mache ich falsch?
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie .str.slice() Methode:
Demo:
df.apply(lambda x: print(x[:5]))
😉Einfache one-liner trim long string-Feld in Pandas DataFrame:
Denke ich, müssen
str
für Indizierung mit str:Beispiel:
Andere Lösung mit
applymap
:Problem deiner Lösung ist, wenn
x[:20]
wählen Sie nur die ersten 20 Zeilen in jeder Spalte.Können Sie es testen, indem benutzerdefinierte Funktion: