2014-05-08 256 views
2

我有一個熊貓DataFrame與混合值。我正在開發Ipython筆記本。當顯示數據框時,我希望顯示數據框以方便閱讀。目前我正在使用Python字符串格式來顯示所有浮點數到4位小數,並添加千分隔符。熊貓DataFrame格式

pd.options.display.float_format = '{:,.4f}'.format 

理想情況下,我希望E.g.顯示超過10000沒有小數的值,有4位有效數字的分數等。有沒有一種方法可以使用Python字符串格式化語法來實現這一點?我知道我可以爲個人專欄做到這一點,但是我希望純粹是爲了筆記本電腦中的顯示器嗎?

回答

4

你可以通過一個函數來float_format,所以可以是任何東西

In [1]: 

df = DataFrame(dict(A = [1.2345,10000.12345,1])) 
df 
Out[1]: 
A 
0 1.23450 
1 10000.12345 
2 1.00000 
3 rows × 1 columns 
In [4]: 

pd.set_option('display.float_format', 
     lambda x: '{:,.4f}'.format(x) if abs(x) < 10000 else '{:,.0f}'.format(x)) 
In [5]: 

df 
Out[5]: 
A 
0 1.2345 
1 10,000 
2 1.0000 
3 rows × 1 columns 
+0

不錯的簡單高貴 – Joop