2016-09-14 89 views

回答

3

你需要傳遞一個格式字符串對象作爲對Arg的set_optiondisplay.float_format

In [167]: 
pd.set_option('display.float_format', '{0:.2f}'.format) 
df = pd.DataFrame(np.random.randn(5,3)) 
df 

Out[167]: 
     0  1  2 
0 0.84 -0.91 -1.44 
1 1.82 0.38 -0.47 
2 -0.07 2.09 1.81 
3 0.09 -2.05 -0.92 
4 0.26 -1.94 -1.09 

的基礎數據是不受影響:

In [168]: 
df.iloc[0][0] 

Out[168]: 
0.84179409715165521 
+0

這正是我一直在尋找的。打印df顯示的值正確,但是當我將df寫入excel時,它仍然是0.4?任何想法? –

+0

雖然這只是一個顯示格式問題?例如,當你移動到特定的單元格時,它顯示的是什麼值?我不確定這會影響數據如何導出,我不熟悉python excel模塊,它是什麼熊貓。說'to_excel'也支持'float_format'參數:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_excel.html所以你可以試試 – EdChum

+0

試過,沒有任何效果,沒有那麼重要,現在如此豎起大拇指,再次感謝埃德! –

0

使用列表推導來更改特定的所有值系列。將.2更改爲您想要的任何級別的精度。

a = ["{0:.2f}".format(val) for val in df.column_name] 
df.loc[:,'column_name'] = a