如何将数字设置为4位小数

时间:2017-06-01 00:34:20

标签: python pandas

我有这段代码

    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 个答案:

答案 0 :(得分: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个小数位。