Python不使用科学计数输出
2021/10/22 17:11:48
本文主要是介绍Python不使用科学计数输出,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、需求
当我执行以下代码时,得到的均为科学计数输出结果。
import torch import numpy as np # python的科学计数输出 print('科学计数输出 in python:', 0.0000000000000000002554, 0.91) # numpy中的科学计数输出 print('科学计数输出 in numpy:', np.array([0.0000000000000000002554, 0.91])) # pytorch中的科学计数输出 print('科学计数输出 in pytorch:', torch.tensor([0.0000000000000000002554, 0.91]))
输出
科学计数输出 in python: 2.554e-19 0.91
科学计数输出 in numpy: [2.554e-19 9.100e-01]
科学计数输出 in pytorch: tensor([2.5540e-19, 9.1000e-01])
然而,尽管它很科学,有时候还是觉得这样的输出并不够直观。因此,如果想要看到非科学计数法表示的数字输出,那么我们该怎么办呢?
二、解决方案
实际上没有太过于完美的解决方案,但我是这么做的
import torch import numpy as np # python的科学计数输出 print('科学计数输出 in python:', 0.0000000000000000002554, 0.91) # 关闭python的科学计数输出 print('非科学计数输出 in python: %.4f %.4f' % (0.0000000000000000002554, 0.91)) # numpy中的科学计数输出 print('科学计数输出 in numpy:', np.array([0.0000000000000000002554, 0.91])) # 关闭numpy中的科学计数输出 np.set_printoptions(precision=4, suppress=True) print('非科学计数输出 in numpy:', np.array([0.0000000000000000002554, 0.91])) # pytorch中的科学计数输出 print('科学计数输出 in pytorch:', torch.tensor([0.0000000000000000002554, 0.91])) # 关闭pytorch中的科学计数输出 torch.set_printoptions(precision=4, sci_mode=False) print('非科学计数输出 in pytorch:', torch.tensor([0.0000000000000000002554, 0.91]))
输出如下
科学计数输出 in python: 2.554e-19 0.91
非科学计数输出 in python: 0.0000 0.9100
科学计数输出 in numpy: [2.554e-19 9.100e-01]
非科学计数输出 in numpy: [0. 0.91]
科学计数输出 in pytorch: tensor([2.5540e-19, 9.1000e-01])
非科学计数输出 in pytorch: tensor([ 0.0000, 0.9100])
可以看到,如果小数精确位数设置得不对的话,就会丢失一些信息。当然,你可以设定很多的精确位,以确保打印的数字不会丢失精度,然而,这样打印就不美观了,因为如果精确位设置得过大那么就会打印出很多位多余的0。因此,以上解决方案均不是很完美,仅供参考。不过想一想,应该还是有办法解决去除多余的0的,我是说,通过自己写一个算法的方式。
这篇关于Python不使用科学计数输出的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享