2017-04-04 6 views
0

Standardmäßig werden die numerischen Werte im Datenrahmen nur bis zu 6 Dezimalstellen gespeichert. Wie bekomme ich die volle Präzision?Pandas Data Precision

eg 34.98774564765 is stored as 34.987746. I do want the full value. 
eg2 0.00000565 is stored as 0. . 
apart from applying formats to each data frame is there any global setting that helps preserving the precision. 

Dank

+0

Können Sie ein reproduzierbares Beispiel posten? – Maximilian

Antwort

4

Ihre Daten werden mit der Präzision gespeichert sind, auf Ihre dtype entsprechenden (np.float16, np.float32, np.float64).

pd.options.display.precision - ermöglicht es Ihnen, die Genauigkeit für printing die Daten

5

Nein, 34.98774564765 zu ändern lediglich mit sechs Dezimalstellen standardmäßig gedruckt wird:

>>> pandas.DataFrame([34.98774564765]) 
      0 
0 34.987746 

Die Daten selbst mehr Präzision hat:

>>> pandas.DataFrame([34.98774564765])[0].data[0] 
34.98774564765 

Sie können die Standardeinstellung für das Drucken von Rahmen ändern, indem Sieändern.

Zum Beispiel:

>>> pandas.set_option("display.precision", 8) 
>>> pandas.DataFrame([34.98774564765]) 
       0 
0 34.98774564765 
3

Sie können auch verwenden, um die 'display.float_format' Option

with pd.option_context('display.float_format', '{:0.20f}'.format): 
    print(pd.DataFrame([34.98774564765])) 

         0 
0 34.98774564765000150146