python - 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 演示还显示了精度水平不高的浮点数,但我希望有一种方法可以控制格式。非常感谢任何指导。
解决方案
Colab 数据表似乎只尊重数据本身而不是格式。它将所有内容都转换为 JavaScript,并使用另一个库来显示数据。
转换数据时,它支持自定义格式化程序。但是,它们不能提供给数据表实例。尽管如此,仍然google.colab.datatable
拥有一个默认格式化程序字典,您可以对其进行猴子补丁:
from google.colab import data_table
data_table._DEFAULT_FORMATTERS[float] = lambda x: f"{x:.2f}"
请注意,这将更改所有显示的数据表的行为。
推荐阅读
- elasticsearch - 在 Elasticsearch 中使用 from/size - “在滚动上下文中不允许使用 [from]”
- reactjs - 如果父组件多次渲染,是否可以控制子组件进行反应?
- ios - 发布到 ios 商店失败并显示“使用应用专用密码登录”
- angular - 如何将 mat-card-image 高度设置为 100%?
- python - 在 Python 中在 2D 图像上绘制 3D 对象
- javascript - React Native 中 ios/build 文件夹的作用是什么?
- javascript - 对 Material UI 开关提出请求
- jsf - JSF 或 Primefaces 组件
- git - 从不同项目的不同目录执行 git pull 但使用相同的代码
- .net - 无法在 https://www.docusign.net/api/3.0/dsapi.asmx 返回的状态/信封中读取锚选项卡值