2017-06-01 94 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位小数 –

相关问题