gpt4 book ai didi

Python Pint 在乘法时不会合并相同数量的单位

转载 作者:行者123 更新时间:2023-12-01 01:31:21 47 4
gpt4 key购买 nike

使用 Python Pint,在将相同数量的单位相乘时,我得到了一个奇怪的结果。你可能期望它们会合并,但事实并非如此。例如:

from pint import UnitRegistry
units = UnitRegistry()

然后:

(3 * units.m) * ( 5 * units.m)  

...结果:

<Quantity(15, 'meter ** 2')>

...这是正确的。但如果我将其中一个因素转换为毫米,如下所示:

(3 * units.m) * ( 5000 * units.mm)

...它给出了一个无意义的答案:

<Quantity(15000, 'meter * millimeter')>

同样的事情也会发生在除法以及其他维度上,比如质量、时间等。

但是,加法确实有效:

(3 * units.m) + ( 5000 * units.mm)
<Quantity(8.0, 'meter')>

有人知道这件事吗?

最佳答案

教程提到了 to_base_unitsto_reduced_units 方法,也许其中一个可以完成您需要的转换 https://pint.readthedocs.io/en/latest/tutorial.html

它还表示您可以使用参数 auto_reduce_dimensions=True 实例化 UnitRegistry 来自动完成此操作。默认情况下禁用它,因为它可能是一项昂贵的操作

关于Python Pint 在乘法时不会合并相同数量的单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52825560/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com