📜  Python| numpy.printoptions() 方法(1)

📅  最后修改于: 2023-12-03 15:19:14.674000             🧑  作者: Mango

Python | numpy.printoptions() 方法

numpy.printoptions() 方法是用于设置打印数组的各种选项的函数。这些选项控制打印数组时如何格式化数字、字段宽度、填充字符串等等。在进行数据分析和处理时,使用 numpy.printoptions() 方法可以使打印结果更加美观、易于阅读。

语法
numpy.printoptions(precision=None, threshold=None, edgeitems=None, linewidth=None, suppress=None, nanstr=None, infstr=None, formatter=None, sign=None, floatmode=None, **kwarg)
参数说明

以下是可用的参数,可以在 numpy.printoptions() 中使用:

  • precision : int,默认值是 8。
    • 设置打印精度。这是指小数点后的位数(左右约束)。例如,如果 precision=3,则三位小数将被打印出来。
  • threshold : int,默认值为 1000。
    • 这个参数控制什么时候将数组打印为更紧凑的摘要而不是完整的数组。也就是说,数组的长度超过了这个值,它将被截断。设置为 np.inf 打印数组的全部。
  • edgeitems : int,默认值为 3。
    • 显示多少个元素,可以通过 edgeitems 参数控制。如果 edgeitems=2,则数组的前2个和后2个元素将被打印出来,其余元素将被省略。
  • linewidth : int,默认值为 75。
    • 确定每一行的字符数。如果在调整其他参数后,行的字符数大于 linewidth,那么将分割数组并在多个线上打印。

此外,还有其他多个可用参数。可以使用以下命令查看:

np.printoptions?
实例

下面是一个用例,说明了如何使用 numpy.printoptions() 来设置打印选项:

import numpy as np

# 创建一个随机二维数组
arr = np.random.rand(5, 6)

# 打印数组默认选项
print("Default print options:")
print(arr)
print("-"*50)

# 设置打印选项
np.set_printoptions(precision=3, threshold=3)

# 打印当前选项
print("Current print options:")
print(np.get_printoptions())
print("-"*50)

# 打印数组
print("Print array with custom options:")
print(arr)
print("-"*50)

# 将打印选项设置回默认值
np.set_printoptions(edgeitems=3,infstr='inf',linewidth=75, nanstr='nan', precision=8,
                    suppress=False, threshold=1000, formatter=None)

# 打印当前选项
print("Current print options after reset:")
print(np.get_printoptions())

输出:

Default print options:
[[0.986 0.18  0.131 0.009 0.814 0.355]
 [0.643 0.95  0.407 0.494 0.727 0.853]
 [0.876 0.337 0.214 0.636 0.548 0.922]
 [0.731 0.496 0.433 0.17  0.526 0.545]
 [0.03  0.222 0.018 0.862 0.506 0.824]]
--------------------------------------------------
Current print options:
{'edgeitems': 3, 'threshold': 3, 'linewidth': 75, 'suppress': False, 'precision': 3, 'nanstr': 'nan', 'infstr': 'inf', 'sign': '-', 'formatter': None, 'floatmode': 'maxprec', '_formatter': <numpy.lib._iotools.WideFormat object at 0x000002828326F670>}
--------------------------------------------------
Print array with custom options:
[[0.986 0.18  0.131 ... 0.814 0.355]
 [0.643 0.95  0.407 ... 0.727 0.853]
 [0.876 0.337 0.214 ... 0.548 0.922]
 ...
 [0.496 0.433 0.17  ... 0.526 0.545]
 [0.03  0.222 0.018 ... 0.506 0.824]]
--------------------------------------------------
Current print options after reset:
{'edgeitems': 3, 'threshold': 1000, 'linewidth': 75, 'suppress': False, 'precision': 8, 'nanstr': 'nan', 'infstr': 'inf', 'sign': '-', 'formatter': None, 'floatmode': 'maxprec', '_formatter': <numpy.lib._iotools.WideFormat object at 0x000002828326F670>}

可以看到,使用 numpy.printoptions() 方法可以更改数组的打印选项,从而控制打印输出的格式和样式。通过设定不同的选项,我们能够定制自己满意的打印结果。