首页 >后端开发 >Python教程 >如何在没有科学记数法的情况下漂亮地打印 NumPy 数组并保持精度?

如何在没有科学记数法的情况下漂亮地打印 NumPy 数组并保持精度?

Patricia Arquette
Patricia Arquette原创
2024-12-07 02:21:11816浏览

How Can I Pretty-Print NumPy Arrays Without Scientific Notation and Maintain Precision?

漂亮打印的 NumPy 数组:避免科学记数法并确保精度

NumPy 数组通常以科学记数法显示小数,这使得它们难以解释。要格式化数组以提高可读性,请考虑以下解决方案:

使用 numpy.set_printoptions

numpy.set_printoptions 函数允许您修改数组的打印选项。通过将精度设置为所需的小数位数,您可以根据需要格式化浮点数。此外,将抑制设置为 True 会删除小数字的科学记数法。

import numpy as np

x = np.random.random(10)
np.set_printoptions(precision=3, suppress=True)
print(x)  # Prints [0.073  0.461  0.689 ...]

使用上下文管理器

NumPy 1.15.0 及更高版本提供了一个上下文管理器numpy.printoptions。在此上下文中,任何打印操作都将使用指定的打印选项。

with np.printoptions(precision=3, suppress=True):
    print(x)  # Within the context, options are set
print(x)  # Outside the context, options are back to default.

防止删除尾随零

要保留尾随零,请使用 np 的格式化程序参数.set_printoptions。这允许您为每种数据类型定义自定义格式函数。

np.set_printoptions(formatter={'float': '{: 0.3f}'.format})
print(x)  # Prints [0.078  0.480  0.413 ...]

以上是如何在没有科学记数法的情况下漂亮地打印 NumPy 数组并保持精度?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn