2017-06-01 95 views
1

我有這樣的代碼如何設置的數量成爲4位小數

tableyy = final.style.apply(color, axis=None).set_table_attributes('border="" class = "dataframe table table-hover table-bordered"').set_precision(4).render() 

set_precision(4)我想使我的價值,成爲4位小數,但對於一些價值還是回到我5個小數位,例如0.03045。所以任何人都可以與我分享如何更換set_precision,以便我的值全部以小數點後4位返回,但不是4次重要值。

回答

1

您想查看DataFrame.round(decimals=0, *args, **kwargs)方法。我想下面的代碼示例會做你的要求:

tableyy = final.round(4).style.apply(
    color, axis=None 
).set_table_attributes(
    'border="" class = "dataframe table table-hover table-bordered"' 
).render() 

下面是一些代碼我用來測試這一點:

import pandas as pd 
import numpy as np 

df = pd.DataFrame(
    np.random.random([3,3]), 
    columns=['A', 'B', 'C'], 
    index=['first', 'second', 'third'] 
) 

table = df.round(2).style.applymap(
    lambda val: 'color: red' if val > 0.5 else 'color: black' 
).set_table_attributes(
    'border="" class = "dataframe table table-hover table-border:red"' 
).render() 

with open('test.html', 'w+') as f: 
    f.write(table) 

然後打開造成的test.html文件中的瀏覽器顯示一張表格,其中每列對我來說最多有2個小數位。

+0

我得到的錯誤是'Styler'對象沒有屬性'round' –

+0

@ShiJieTio我已經更新了代碼示例,它現在應該可以工作,需要在DataFrame對象上調用'round'方法,而不是Styler 。 – ARJMP

+0

謝謝,但現在cann工作的數量仍然沒有轉移到4位小數 –

相關問題