Seite 1 von 1

Dataframe String trennen und addieren

Verfasst: Freitag 15. Juni 2018, 18:54
von lambkin
Hi,

wie kann in einer Spalte des Dataframes einen String an den Leerzeichen teilen und die Blöcke addieren?
Beispiel

row| id | Anzahl
0 | id1 | 012 234 345
1 | id2 | 012 234 345 542
2 | id3 | 123 234

und raus kommen soll

0 | id1 | 3
1 | id2 | 4
2 | id3 | 2

Was ich mir bisher überlegt habe.

Code: Alles auswählen

# Trennen am Leerzeichen
df['Anzahl'].str.split()
# Zähle zusammen
df['Anzahl'] = df['Anzahl'].str.len()
Aber das funktioniert wohl nicht so, denn ich bekomme dann immer nur die Länge aller Zeichen in der Spalte 'Anzahl' eingetragen. Also ich bekomme
0 | id1 | 11
1 | id2 | 15
2 | id3 | 7

Ich könnte nun natürlich mit einer Vektoroperation noch den int Wert prüfen und entsprechend auf den gewollten int wert zuweisen, aber es gibt sicherlich von vornherein eine schönere Möglichkeit auf eine Lösung zu kommen.
Kann mir jemand einen anderen Lösungsweg aufzeigen, der sich besser eignet?

Re: Dataframe String trennen und addieren

Verfasst: Freitag 15. Juni 2018, 19:15
von Sirius3
str.split liefert ein Ergebnis, das Du nicht verwendest.

Re: Dataframe String trennen und addieren

Verfasst: Freitag 15. Juni 2018, 19:29
von lambkin
Ja du hast Recht, also müsste ich es umwandeln in folgendes?

splt = df['Anzahl'].str.split()
df['Anzahl'] = len(splt)

Re: Dataframe String trennen und addieren

Verfasst: Samstag 16. Juni 2018, 16:13
von lambkin
Okay nein, damit habe ich nur die Summe aller Zeilen der Spalte in jeder Zeile stehen ^^