Ich habe ein Datenframe mit Floating-Typ-Variablen, ich muss die Werte dieser Variablen auf eine n Dezimalstellen ändern. (Dummy-Daten)Wie ändere ich die Standard-Genauigkeit in Python
prod_code sales_avg
122 12332.234233
123 12212.234123
Derzeit i folgendes tue:
prod_sales_avg=pd.DataFrame(weekly_sales.groupby(['prod_code']).agg({'weekly_sales':{'sales_avg':'mean'}}))
prod_sales_avg.columns=prod_sales_avg.columns.droplevel(0)
prod_sales_avg=prod_sales_avg.reset_index()
prod_sales_avg['sales_avg']=round(prod_sales_avg['sales_avg'],9)
Ich erhalte die Dezimalstellen bis zu 6 Plätze (ich denke, dass Standard ist). Ich muss die Dezimalstelle auf 9 erhöhen, aber der obige Code funktioniert nicht. Später werde ich diese Variable für den Vergleich verwenden, also nicht nur nach "display" Standpunkt suchen. Der Wert sollte als 9 Dezimalstellen gespeichert werden. Was mache ich hier falsch?
verwendet, ist nicht [Dezimal] (https://docs.python.org/3.5/library/decimal.html) ein besserer Datentyp als float für feste Genauigkeit ca lkulationen? pandas Runde bezieht sich auf [numpy.around] (http://docs.scipy.org/doc/numpy/reference/generated/numpy.around.html), was die infamously unpräzisen Floats zurückgibt ... – Aprillion