迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python 中的科学计数法

作者:迹忆客 最近更新:2023/12/17 浏览次数:

科学记号用于以紧凑和易懂的方式表示非常大或小的数字。这种符号也用于编程;例如,6000000 可以表示为 6E+6。同样,0.000006 也可以表示为 6E-6

在本教程中,我们将讨论如何在 Python 中使用这种科学计数法。


在 Python 中使用 format() 函数来实现科学计数法

格式函数用于将字符串按特定格式进行格式化。我们可以使用这个函数将大的或小的浮动值转换为各自的指数格式,如下图所示。

no1 = float(5800000.00000)
no2 = float(0.0000058)
print(format(no1, ".1E"))
print(format(no2, ".1E"))

输出:

5.8E+06
5.8E-06

这里 .1E 是指定的格式模式。E 表示用科学记数法打印数值,.1 指定小数点后必须有一个数字。


在 Python 中使用 fstrings 来表示科学记数法中的值

在 Python 3.6 及以上版本中,我们可以使用 fstrings 来格式化字符串。这种方法被认为更精确,更不容易出错。与传统的 format() 函数相比,它提高了代码的可读性。fstrings 可以帮助表示,如下所示。

no1 = float(5800000.00000)
no2 = float(0.0000058)
print(f"{no1:.1E}")
print(f"{no2:.1E}")

输出:

5.8E+06
5.8E-06

请注意,格式模式与上述方法相同。


使用 numpy.format_float_scientific() 函数来表示科学符号中的数值

Python 中的 NumPy 模块有一个函数 format_float_scientific(),它可以用来将一个浮点数格式化为其科学符号。

我们可以使用 precision 参数来指定总的小数位数,使用 exp_digits 来告诉指数符号中需要多少位数。其他可用的参数还有 signuniquetrim,这些参数提供了更多的自定义功能。

该函数返回的最终结果是一个字符串。

import numpy as np

no1 = float(5800000.00000)
no2 = float(0.0000058)

print(np.format_float_scientific(no1, precision=1, exp_digits=3))
print(np.format_float_scientific(no2, precision=2, exp_digits=3))

输出:

5.8e+006
5.8e-006

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便