如何在Pint中的频率和周期之间转换?

时间:2018-12-02 18:46:54

标签: python-3.x unit-conversion pint

我希望能够在频率值和周期值之间进行转换。这些不是直接可转换的,因为它们不是完全相同的单元,但是我读到,在单元之间存在预定义的关系,称为 Context 。但是,在示例中给出的上下文'sp'中,我找不到哪个上下文定义了哪些关系,也无法将 MHz 转换为 ns

>>> import pint
>>> ureg = pint.UnitRegistry()
>>> freq = 25 * ureg.MHz
>>> ureg.enable_contexts('sp')
>>> freq.to('us')

给出错误

pint.errors.DimensionalityError: Cannot convert from 'megahertz' (1 / [time]) to 'microsecond' ([time])

1 个答案:

答案 0 :(得分:1)

频率和周期之间的关系为T = 1 / f

>>> import pint
>>> ureg = pint.UnitRegistry()
>>> freq = 25 * ureg.MHz
>>> (1 / freq).to('ns')
39.99999999999999 nanosecond