在没有科学记数法和给定精度的情况下漂亮地打印 NumPy 数组
打印浮点数的 NumPy 数组时,通常会产生几个小数并且使用科学格式,使其难以阅读,尤其是对于低维数组。由于 NumPy 数组需要作为字符串打印,这就提出了寻找解决方案的问题。
使用 numpy.set_printoptions 允许您为输出设置所需的精度。通过设置此选项,您可以控制显示的小数位数。
为了进一步提高可读性,您可以使用抑制选项禁用科学记数法。这可确保小数字以标准表示法显示。
import numpy as np x = np.random.random(10) print(x) # [ 0.07837821 0.48002108 0.41274116 0.82993414 0.77610352 0.1023732 # 0.51303098 0.4617183 0.33487207 0.71162095] np.set_printoptions(precision=3) print(x) # [ 0.078 0.48 0.413 0.83 0.776 0.102 0.513 0.462 0.335 0.712]
y = np.array([1.5e-10, 1.5, 1500]) print(y) # [ 1.500e-10 1.500e+00 1.500e+03] np.set_printoptions(suppress=True) print(y) # [ 0. 1.5 1500. ]
如果您使用的是 NumPy 版本 1.15.0 或更高版本,您可以利用 numpy.printoptions 上下文管理器来本地化打印应用程序选项。在上下文中,应用所需的打印设置,但在外部恢复为默认设置。
x = np.random.random(10) with np.printoptions(precision=3, suppress=True): print(x) # [ 0.073 0.461 0.689 0.754 0.624 0.901 0.049 0.582 0.557 0.348]
为了防止从浮点数末尾删除零,您可以使用 np.set_printoptions 中的格式化程序参数。此参数允许您为每种数据类型指定格式函数。
np.set_printoptions(formatter={'float': '{: 0.3f}'.format}) print(x) # Output: [ 0.078 0.480 0.413 0.830 0.776 0.102 0.513 0.462 0.335 0.712]
以上是如何在没有科学记数法的情况下以指定的精度漂亮地打印 NumPy 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!