n letzte Zeichen eines Strings entfernen

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
horstel_horst
User
Beiträge: 18
Registriert: Montag 27. September 2021, 19:09

Von einem String möchte ich die n letzten Zeichen entfernen. n variert dabei je Zeile, anbei ein kleines Beispiel:

Code: Alles auswählen

import pandas as pd
df = pd.DataFrame(np.array([[1, 'foo', 1], [2, 'bar', 0], [3, 'baz', 2]]),
                   columns=['id', 'string', 'length'])
df.length = df.length.astype(int)
df                            
von dem String in der Spalte 'string' möchte ich nun jeweils die letzten Zeichen abschneiden. Die Anzahl der abzuschneidenden Zeichen steht in Spalte 'length'

Wie mache ich das am besten?
Sirius3
User
Beiträge: 17759
Registriert: Sonntag 21. Oktober 2012, 17:20

Seltsames Problem. Ist das wirklich Dein Problem, oder hast Du eigentlich ein ganz anderes? Woher kommen die Daten?
horstel_horst
User
Beiträge: 18
Registriert: Montag 27. September 2021, 19:09

Ich habe mir jetzt mit einem Loop beholfen. Ich könnte das ursprüngliche Problem vermutlich auch mit einer regex lösen, finde das aber schwer zugänglich
Benutzeravatar
sparrow
User
Beiträge: 4198
Registriert: Freitag 17. April 2009, 10:28

Loops und Dataframes klingen grundsätzlich erst einmal nach der falschen Lösung.
Antworten