跳转到主要内容

物理量模块

项目描述

Latest Version Ruff Ruff-Format Documentation License Python Versions CI LINTER Coverage

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

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

pint-0.24.3.tar.gz (341.7 kB 查看哈希值)

上传时间

构建分发

Pint-0.24.3-py3-none-any.whl (301.8 kB 查看哈希值)

上传时间 Python 3

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面