ich unterhalb der Linie bin mit schwimmen eine csv-Datei, in Spalte B endet als str Format zu lesen und ich es nicht schaffen, es zu konvertieren direkt zu schweben:wie str konvertieren in Pandas Datenrahmen
df = pd.read_csv('data.csv', sep=";", encoding = "ISO-8859-1")
dies erzeugt ein Datenrahmen, in der alle Spalten in str Format sind:
A B
0 Emma -20,50
1 Filo -15,75
2 Theo 17,23
Wie Sie die Dezimalstellen durch getrennt feststellen können ‚‘ statt ‚‘ weil es deutscher csv ist. Ich habe versucht, die folgenden schon (vergeblich):
..., dtype={'B': np.float32}, decimal= ',' , ....
Jede Idee, wie ich es in den Leseprozess erledigen könnte?
Änderung nach dem csv Lesen funktioniert (aber das ist eine ineffiziente zusätzlichen Schritt, den ich vermeiden möchte), ist es das, was ich benutze:
df['B'] = df['B'].str.replace(',', '.').astype(float)
danke für die schnelle Antwort, aber für mich funktioniert das immer noch nicht. Ich finde das sehr seltsam. –
Bearbeiten funktioniert nicht auch? – jezrael
Nein, das ist nicht das Problem. Alle Dezimalstellen sind wirklich ",". Aber es gibt einige 0 Werte (also keine Dezimalzahl) und einige NaN. –