示例代码:
import numpy as np#precision:x=np.array([3.1415926])print(x)np.set_printoptions(precision=4)print(x)#threshold:x=np.arange(0,12,1)print(x)np.set_printoptions(threshold=7)print(x)#edgeitems:x=np.arange(0,12,1)print(x)np.set_printoptions(threshold=7)print(x)np.set_printoptions(threshold=5, edgeitems=4)print(x)np.set_printoptions(threshold=5, edgeitems=3)print(x)#linewidth:x=np.arange(0,12,1)print(x)np.set_printoptions(linewidth=7)print(x)np.set_printoptions(threshold=11)print(x)#suppress:x=np.array([1.7e-9, 7.3, 17333])print(x)np.set_printoptions(suppress=True)print(x)#formatter:x=np.random.random(10)-0.5#生成元素在 -0.5~0.5 之间的10个元素的数组print(x)#[ 0.13466001 -0.31490446 0.47113123 0.23657203 -0.20984852 0.09325732 0.37024481 -0.46948463 0.21283395 -0.40755917]np.set_printoptions(formatter={'all':lambda x:'+' if x>=0.0 else '-'})print(x)#[+ - + + - + + - + -]
运行结果:
大概说明:
np.set_printoptions(threshold=np.nan)
print(ndarray)
为了随心所欲地打印 ndarray 的数据,可以使用numpy的set_printoptions()方法;
set_printoptions(precision=None,
threshold=None,
edgeitems=None,
linewidth=None,
suppress=None,
nanstr=None,
infstr=None,
formatter=None)
precision:输出float型时,小数点后保留的位数
threshold: array元素的个数在大于threshold 时会被折叠
edgeitems:在array被折叠时,开头和结尾显示的元素个数皆为 edgeitems个
linewidth: 每行打印多少个字符,超出字符数后将换行显示
suppress: 是否抑制隐藏显示,否则默认为科学记数法等正常显示
formatter: 用于对print的输出进行格式化,作用类似 python3中的str.format()
formatter是一个可以被调用的字典类型,关键字'all'是规定x可以包含所有type;
最后,可以通过调用np.set_printoptions()进行option的reset,回到之前的选项;