numpy中默认是使用科学计数法来显示数据的,但是这种做法往往不利于我们观测数据,比如坐标数据等。那么如何取消numpy科学计数法呢,请往下看。
np.set_printoptions()
相关参数
- precision=None, 精度,int 或者None。浮点输出的精度位数(默认值为 8)。如果浮点模式不固定,则可能为 None,以根据需要打印尽可能多的数字以唯一指定值。
- threshold=None, 阈值, 默认为 1000
- edgeitems=None, 每个维度的开头和结尾处的摘要数组项数(默认值为 3)
- linewidth=None, 用于插入换行符的每行字符数(默认值为 75)
- suppress=None, 如果为 True,则始终使用定点表示法打印浮点数。False:则科学计数法。默认:Fasle
- nanstr=None, 浮点非数字的字符串表示形式(默认 nan)
- infstr=None, 浮点无穷大的字符串表示形式(默认 inf)
- formatter=None 如果不是 None,则这些键应指示相应格式设置函数适用的类型。可调用文件应返回一个字符串。
上面是这是 NumPy 旧版本(版本 1.13.0)文档简要说明。在版本 > 1.17的文档中,还增加了一些参数,想要了解的可以去官方文档查看。下面请看几个参数的具体用法。
1. 取消科学计数法
a = np.logspace(-4, 3, 7)
print('a = ', a)
np.set_printoptions(suppress=True)
print('a = ', a)
a = [1.00000000e-04 1.46779927e-03 2.15443469e-02 3.16227766e-01
4.64158883e+00 6.81292069e+01 1.00000000e+03]
a = [ 0.0001 0.0014678 0.02154435 0.31622777 4.64158883
68.12920691 1000. ]
2. 改变每行输出的长度
a = np.logspace(-4, 3, 7)
print('a = ', a)
np.set_printoptions(suppress=True, linewidth=300)
print('a = ', a)
输出:
a = [1.00000000e-04 1.46779927e-03 2.15443469e-02 3.16227766e-01
4.64158883e+00 6.81292069e+01 1.00000000e+03]
a = [ 0.0001 0.0014678 0.02154435 0.31622777 4.64158883 68.12920691 1000. ]
3. 改变每行元素输出的个数
b = np.arange(100000).reshape(2, 50000)
print(b)
np.set_printoptions(suppress=True, edgeitems=4)
print(b)
输出:
[[ 0 1 2 ... 49997 49998 49999]
[50000 50001 50002 ... 99997 99998 99999]]
[[ 0 1 2 3 ... 49996 49997 49998 49999]
[50000 50001 50002 50003 ... 99996 99997 99998 99999]]
Process finished with exit code 0
好了,上面是几个常用参数的用法,如果有想要了解更多的,请详细参数官方文档,谢谢。
|