我有这段代码
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位有效值。
答案 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个小数位。