首页 > 解决方案 > Google Colab 中的数据表显示不遵循数字格式

问题描述

我想在使用Colab 数据表显示时设置浮点数的精度

我发现下面的代码在原生 pandas 数据框显示中按预期工作,但它不适用于其他更时髦的数据表显示。

import pandas as pd
df = pd.DataFrame(np.random.rand(15, 4), columns=list('ABCD'))

df.style.format("{:.2%}")

或者对于上面的最后一行

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

该功能的Colab 演示还显示了精度水平不高的浮点数,但我希望有一种方法可以控制格式。非常感谢任何指导。

标签: pythonpandasjupyter-notebookgoogle-colaboratory

解决方案


Colab 数据表似乎只尊重数据本身而不是格式。它将所有内容都转换为 JavaScript,并使用另一个库来显示数据。

转换数据时,它支持自定义格式化程序。但是,它们不能提供给数据表实例。尽管如此,仍然google.colab.datatable拥有一个默认格式化程序字典,您可以对其进行猴子补丁:

from google.colab import data_table

data_table._DEFAULT_FORMATTERS[float] = lambda x: f"{x:.2f}"

请注意,这将更改所有显示的数据表的行为。


推荐阅读