Python Numpy 控制台完全输出ndarray的实现

竹里
竹里
发布时间:2026-10-13| 7人浏览过
原创

当Numpy数组维度较大时,控制台默认会省略中间数据。本文介绍如何使用np.set_printoptions()方法完全输出数组。详细解析precision、threshold、edgeitems及formatter四个关键参数的作用,并提供重置设置的技巧,帮助开发者灵活控制数组显示格式。

Numpy数组完全输出设置方法

具体实现方式如下所示:


import numpy as np

np.set_printoptions(threshold=np.nan)
print(ndarray)

set_printoptions参数详解

当ndarray内部存储的数据维度非常大时,在控制台直接打印往往无法完整显示所有内容,中间部分会被省略号替代。此时,可以借助Numpy库提供的set_printoptions()方法来调整输出行为。


set_printoptions(precision=None, 
   threshold=None, 
   edgeitems=None,
   linewidth=None, 
   suppress=None,
   nanstr=None,
   infstr=None,
   formatter=None)

precision参数用于指定输出结果保留的小数位数精度。

threshold参数定义了数组元素数量在小于该阈值时不进行折叠截断。

edgeitems参数规定当数组被折叠显示时,开头和结尾各自保留显示的元素的个数。

formatter参数功能较为灵活,类似于Python3中的str.format()方法,允许用户对输出内容进行自定义格式化。

其他参数在当前场景下暂未涉及。

代码示例与注意事项

以下是具体使用示例:


precision:

 np.set_printoptions(precision=4)
 print(np.array([1.23456789]))
 >> [ 1.2346] # 最后进位了

threshold:

 np.set_printoptions(threshold=10)
 print(np.arange(1, 11, 1)) # np.arange(1, 11, 1)生成出来是[1-10],10个数
 >> [ 1 2 3 4 5 6 7 8 9 10]

 np.set_printoptions(threshold=9)
 print(np.arange(1, 11, 1))
 >> [ 1 2 3 ..., 8 9 10]

edgeitems:

 np.set_printoptions(threshold=5)
 print(np.arange(1, 11, 1))
 >> [ 1 2 3 ..., 8 9 10]

 np.set_printoptions(threshold=5, edgeitems=4)
 print(np.arange(1, 11, 1))
 >> [ 1 2 3 4 ..., 7 8 9 10]

formatter

 np.set_printoptions(formatter={'all': lambda x: 'int: ' + str(-x)})
 print(np.arange(1, 5, 1))
 >> [int: -1 int: -2 int: -3 int: -4]

这里的formatter是一个可调用的字典,其中'all'是其中一个键,表示内部的x可以包含所有类型的数据;其他可用的键可以在源码中进一步查阅。

最后,如果仅希望在代码的某一部分使用自定义的printoptions,可以通过再次调用np.set_printoptions()方法来恢复默认设置。

以上关于Python Numpy控制台完全输出ndarray的实现方法就是本文分享的全部内容,希望能为大家提供参考,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。