python 保留有效数字
最编程
2024-04-23 09:01:56
...
因为作业要写到有效数字,然后也没怎么发现这方面的内容,所以记录一下方法!
什么是有效数字?
这里说一下在数学中的有效数字,即在一个数中,从该数的第一个非零数字起,直到末尾数字为止的数字。
一般说的保留几位有效数字,即从该数的第一个非零数字算起的。
例如:0.0789,这是保留了四位小数,但只保留了7、8、9这三位有效数字。
下面做个小练习叭!
数字 | 保留的有效数字位数 |
21000.0 | 6 |
0.009800 | 4 |
21.789 | 5 |
保留有效数字代码
这里用到的是Numpy中的函数:
np.format_float_positional(i, precision=7, unique=False, fractional=False, trim='k')
其中,i为原始的数据;
precision为保留的有效数字位数。
下面是一些代码示例。
数字
import numpy as np
num_list = [0.007787635, 23.48720]
for i in num_list:
print(np.format_float_positional(i, precision=7, unique=False, fractional=False, trim='k'))
0.007787635
23.48720
矩阵
import numpy as np
def valid_numbers(x):
"""
保留有效数字
:param x: 原始数字
:return: 保留有效位数后的数字
"""
x = float(np.format_float_positional(x, precision=5, unique=False, fractional=False, trim='k'))
return x
if __name__ == '__main__':
x = np.array([[0.53981, 0.71615, -0.55542, -6.29822],
[0.52579, 0.69242, 0.35655, -3.62552],
[0.64657, -0.81873, -0.18721, 0.12919],
[0.58145, 0.94004, -1.77794, -5.40422]])
vec_valid_numbers = np.vectorize(valid_numbers)
print(vec_valid_numbers(x))
[[ 0.53981 0.71615 -0.55542 -6.2982 ]
[ 0.52579 0.69242 0.35655 -3.6255 ]
[ 0.64657 -0.81873 -0.18721 0.12919]
[ 0.58145 0.94004 -1.7779 -5.4042 ]]
上一篇: Python 保留小数位和有效数字
下一篇: c++ 保留重要位数和小数位数 -II.
推荐阅读
-
Python - 生成身份证最后 6 位数字的字典
-
使用基于 Python 的 CNN 识别身份证中的汉字和数字
-
python 使用套接字有效传输视频数据帧(连续发送图片)
-
高级形态学处理的 python 数字图像处理
-
数字图像处理学习笔记 (XI) - 通过 Python 代码实现图像增强的线性变换、对数变换、幂律变换、分段线性变换、灰度分层、直方图均衡化、平滑滤波器、锐化滤波器
-
数字图像处理大作业 Python 项目 数字图像处理程序问题
-
如何建立有效的数字营销部门?
-
Python 绘制七段数字管道示例代码 - 示例一:
-
保留有效数字和小数位的 C++ 浮点运算
-
保留小数的问题||有效数字 (C)