当前位置:首页 » 《随便一记》 » 正文

python numpy 的输出控制

21 人参与  2022年12月15日 11:53  分类 : 《随便一记》  评论

点击全文阅读


示例代码:

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,回到之前的选项;


点击全文阅读


本文链接:http://zhangshiyu.com/post/49776.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1