【问题标题】:How to get h2o to return results in non-scientific notation如何让 h2o 以非科学计数法返回结果
【发布时间】:2020-01-04 13:44:47
【问题描述】:

我编写了 python 代码来返回 h2o 数据帧的特征的每个级别的计数,但结果总是以科学计数法返回。如何让它使用十进制显示?

我使用的代码:

print(all_propensity["HasLoss"].table())

返回的内容:
HasLoss 计数
0                1.46457e+07
1                35277


我希望它返回:
HasLoss 计数
0                14,645,700
1                35,277

【问题讨论】:

    标签: python pandas h2o


    【解决方案1】:

    在 R 中,您将使用 options(digits=12) 或类似的东西,以使其在达到该位数之前不使用科学精度。但是在 Python 中似乎没有办法覆盖全局默认值(我认为是 6 位),我找到的所有答案都是关于自己进行格式化。

    但是你可以在 ipython/Jupyter 中控制它:

    %precision 12
    

    (见https://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-precision

    或者,假设您导入了 pandas,H2O 返回的表实际上是一个 pandas 表,所以那里有格式化选项。我认为pd.options.display.float_format = '{:.0f}'.format 会这样做。或者将列数据类型更改为 int64,如下所示:https://stackoverflow.com/a/49910142/841830

    pandas 的所有选项都在这里:https://pandas.pydata.org/pandas-docs/stable/user_guide/options.html#available-options 或搜索 pandas 格式化数据的方法。 (即,请记住 H2O 为您提供了一个 pandas 数据集,因此一旦您在 python 中获得数据,这就是一个 pandas 问题。)

    【讨论】:

    • 非常感谢。我最终将其转换为熊猫框架并使用了显示格式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-19
    • 2019-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多