pd.read_html "verliert" Komma in Zahl

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
SautaRoc
User
Beiträge: 48
Registriert: Donnerstag 20. September 2018, 13:18

Hall,

folgendes Problem:

ich lese eine Seite mit

Code: Alles auswählen

df = pd.read_html('https://www.eine adresse')
df2= df[5]

ein und nehme eine Tabelle in einen DataFrame (df2)

dann entferne ich einige überflüssige Spalten mit:

Code: Alles auswählen

df2.drop(df2.columns[[3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]], axis=1, inplace=True)
print(df2.head())

übrig bleiben die gewünschten Spalten. Nur ist jetzt irgendwo unterwegs etwas schiefgelaufen. Eine der Spalten der ursprünglichen HTML-Tabelle enthält eine Zahl mit Nachkommastellen --> z.B. 3143,58
Nach der oben beschriebenen Prozedur steht da nun 314358. Ich habe schon ewig rumprobiert das Komma durch einen Punkt zu ersetzen um damit rechnen zu können, bis ich jetzt gemerkt habe, dass dieses Komma ja gar nicht mehr da ist - ich verstehe es leider nicht.


vermutlich könnte man jetzt einfach an der drittletzten Stelle einen Punkt einfügen bevor man aus dem dtype objekt ein float macht, aber ich würde trotzdem gerne wissen, was da passiert ist...
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

`read_html` kennt den Parameter `decimal`, dem Du "," übergeben mußt, wenn Du Zahlen mit Kommas hast.
Antworten