物理量模块
项目描述
Pint: 简化单位使用
Pint 是一个 Python 包,用于定义、操作和操作物理量:数值和测量单位的乘积。它允许它们之间的算术运算以及在不同单位之间的转换。
它附带了一个物理单位、前缀和常数的完整列表。由于其模块化设计,您可以扩展(甚至重写!)整个列表,而无需更改源代码。它支持大量的 numpy 数学运算,无需 monkey patching 或包装 numpy。
它具有完整的测试覆盖率。它在 Python 3.9+ 中运行,没有其他依赖项。它使用 BSD 许可证。
它极其简单且自然易用
>>> import pint
>>> ureg = pint.UnitRegistry()
>>> 3 * ureg.meter + 4 * ureg.cm
<Quantity(3.04, 'meter')>
并且如果您愿意,可以充分利用 numpy
>>> import numpy as np
>>> [3, 4] * ureg.meter + [4, 3] * ureg.cm
<Quantity([ 3.04 4.03], 'meter')>
>>> np.sum(_)
<Quantity(7.07, 'meter')>
快速安装
要安装 Pint,只需
$ pip install pint
或使用 conda,通过 conda-forge 频道
$ conda install -c conda-forge pint
然后简单地享受它吧!
文档
完整文档可在 http://pint.readthedocs.org/ 获得
命令行转换器
命令行脚本 pint-convert 提供了一种快速转换单位或获取转换系数的方法。
设计原则
尽管已经有几个非常优秀的Python包来处理物理量,但没有任何一个完全符合我的需求。像大多数开发者一样,我编写了Pint来满足自己的需求。
单位解析:无需显式定义,即可识别单位的附加和复数形式。换句话说:当前缀 千 和单位 米 被定义时,Pint能够理解 千米。与其他包相比,这导致单位定义列表更短、更易于维护。
独立单位定义:单位定义从简单的文本文件中加载,易于编辑。添加和更改单位及其定义不需要更改代码。
高级字符串格式化:可以使用 PEP 3101 语法将量格式化为字符串。提供扩展转换标志以提供符号、LaTeX和美观格式。如果安装了 Babel,则可进行单位名称翻译。
自由选择数值类型:您可以使用任何数值类型(分数、浮点数、十进制数、numpy.ndarray等)。虽然不需要 NumPy,但它是受支持的。
出色的NumPy集成:当选择使用 NumPy ndarray时,支持其方法和ufunc,包括自动单位转换。例如,numpy.arccos(q) 将需要一个无单位的 q,输出量的单位将是弧度。
不确定性集成:通过 uncertainties 包 透明地处理具有不确定性的量(如3.14±0.01米)的计算。
处理温度:转换具有不同参考点的单位,如地图上的位置或绝对温度尺度。
无依赖项:它仅依赖于Python及其标准库。如果安装了,它会与其他包(如numpy和uncertainties)交互。
Pandas集成:得益于 Pandas 扩展类型,现在可以使用Pint与Pandas一起使用。DataFrame和列之间的操作具有单位意识,为Pandas DataFrame用户提供了更多便利。有关详细信息,请参阅 pint-pandas Jupyter笔记本。
Pint 由全球的科学家、程序员和爱好者组成的社区维护。有关完整列表,请参阅 AUTHORS。
要查看每个项目版本的显著更改的有序列表,请参阅 CHANGES
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。