当前位置: 首页>>代码示例>>Python>>正文


Python pint.UnitRegistry方法代码示例

本文整理汇总了Python中pint.UnitRegistry方法的典型用法代码示例。如果您正苦于以下问题:Python pint.UnitRegistry方法的具体用法?Python pint.UnitRegistry怎么用?Python pint.UnitRegistry使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pint的用法示例。


在下文中一共展示了pint.UnitRegistry方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_known_context

# 需要导入模块: import pint [as 别名]
# 或者: from pint import UnitRegistry [as 别名]
def test_known_context(self):
        ureg = UnitRegistry()
        add_ctxs(ureg)
        with ureg.context('lc'):
            self.assertTrue(ureg._active_ctx)
            self.assertTrue(ureg._active_ctx.graph)

        self.assertFalse(ureg._active_ctx)
        self.assertFalse(ureg._active_ctx.graph)

        with ureg.context('lc', n=1):
            self.assertTrue(ureg._active_ctx)
            self.assertTrue(ureg._active_ctx.graph)

        self.assertFalse(ureg._active_ctx)
        self.assertFalse(ureg._active_ctx.graph) 
开发者ID:jmwright,项目名称:cadquery-freecad-module,代码行数:18,代码来源:test_contexts.py

示例2: test_known_context_enable

# 需要导入模块: import pint [as 别名]
# 或者: from pint import UnitRegistry [as 别名]
def test_known_context_enable(self):
        ureg = UnitRegistry()
        add_ctxs(ureg)
        ureg.enable_contexts('lc')
        self.assertTrue(ureg._active_ctx)
        self.assertTrue(ureg._active_ctx.graph)
        ureg.disable_contexts(1)

        self.assertFalse(ureg._active_ctx)
        self.assertFalse(ureg._active_ctx.graph)

        ureg.enable_contexts('lc', n=1)
        self.assertTrue(ureg._active_ctx)
        self.assertTrue(ureg._active_ctx.graph)
        ureg.disable_contexts(1)

        self.assertFalse(ureg._active_ctx)
        self.assertFalse(ureg._active_ctx.graph) 
开发者ID:jmwright,项目名称:cadquery-freecad-module,代码行数:20,代码来源:test_contexts.py

示例3: test_unknown_nested_context

# 需要导入模块: import pint [as 别名]
# 或者: from pint import UnitRegistry [as 别名]
def test_unknown_nested_context(self):
        ureg = UnitRegistry()
        add_ctxs(ureg)

        with ureg.context('lc'):
            x = dict(ureg._active_ctx)
            y = dict(ureg._active_ctx.graph)
            try:
                with ureg.context('la'):
                    pass
            except KeyError as e:
                value = True
            except Exception as e:
                value = False

            self.assertTrue(value)

            self.assertEqual(x, ureg._active_ctx)
            self.assertEqual(y, ureg._active_ctx.graph)

        self.assertFalse(ureg._active_ctx)
        self.assertFalse(ureg._active_ctx.graph) 
开发者ID:jmwright,项目名称:cadquery-freecad-module,代码行数:24,代码来源:test_contexts.py

示例4: test_nested_context

# 需要导入模块: import pint [as 别名]
# 或者: from pint import UnitRegistry [as 别名]
def test_nested_context(self):
        ureg = UnitRegistry()

        add_ctxs(ureg)

        q = 500 * ureg.meter
        s = (ureg.speed_of_light / q).to('Hz')

        self.assertRaises(ValueError, q.to, 'Hz')
        with ureg.context('lc'):
            self.assertEqual(q.to('Hz'), s)
            with ureg.context('ab'):
                self.assertEqual(q.to('Hz'), s)
            self.assertEqual(q.to('Hz'), s)

        with ureg.context('ab'):
            self.assertRaises(ValueError, q.to, 'Hz')
            with ureg.context('lc'):
                self.assertEqual(q.to('Hz'), s)
            self.assertRaises(ValueError, q.to, 'Hz') 
开发者ID:jmwright,项目名称:cadquery-freecad-module,代码行数:22,代码来源:test_contexts.py

示例5: _test_ctx

# 需要导入模块: import pint [as 别名]
# 或者: from pint import UnitRegistry [as 别名]
def _test_ctx(self, ctx):
        ureg = UnitRegistry()
        q = 500 * ureg.meter
        s = (ureg.speed_of_light / q).to('Hz')

        nctx = len(ureg._contexts)

        self.assertNotIn(ctx.name, ureg._contexts)
        ureg.add_context(ctx)

        self.assertIn(ctx.name, ureg._contexts)
        self.assertEqual(len(ureg._contexts), nctx + 1 + len(ctx.aliases))

        with ureg.context(ctx.name):
            self.assertEqual(q.to('Hz'), s)
            self.assertEqual(s.to('meter'), q)

        ureg.remove_context(ctx.name)
        self.assertNotIn(ctx.name, ureg._contexts)
        self.assertEqual(len(ureg._contexts), nctx) 
开发者ID:jmwright,项目名称:cadquery-freecad-module,代码行数:22,代码来源:test_contexts.py

示例6: test_warnings

# 需要导入模块: import pint [as 别名]
# 或者: from pint import UnitRegistry [as 别名]
def test_warnings(self):

        ureg = UnitRegistry()

        with self.capture_log() as buffer:
            add_ctxs(ureg)

            d = Context('ab')
            ureg.add_context(d)

            self.assertEqual(len(buffer), 1)
            self.assertIn("ab", str(buffer[-1]))

            d = Context('ab1', aliases=('ab',))
            ureg.add_context(d)

            self.assertEqual(len(buffer), 2)
            self.assertIn("ab", str(buffer[-1])) 
开发者ID:jmwright,项目名称:cadquery-freecad-module,代码行数:20,代码来源:test_contexts.py

示例7: test_issue104

# 需要导入模块: import pint [as 别名]
# 或者: from pint import UnitRegistry [as 别名]
def test_issue104(self):
        ureg = UnitRegistry()

        x = [ureg('1 meter'), ureg('1 meter'), ureg('1 meter')]
        y = [ureg('1 meter')] * 3

        def summer(values):
            if not values:
                return 0
            total = values[0]
            for v in values[1:]:
                total += v

            return total

        self.assertQuantityAlmostEqual(summer(x), ureg.Quantity(3, 'meter'))
        self.assertQuantityAlmostEqual(x[0], ureg.Quantity(1, 'meter'))
        self.assertQuantityAlmostEqual(summer(y), ureg.Quantity(3, 'meter'))
        self.assertQuantityAlmostEqual(y[0], ureg.Quantity(1, 'meter')) 
开发者ID:jmwright,项目名称:cadquery-freecad-module,代码行数:21,代码来源:test_issues.py

示例8: test_issue37

# 需要导入模块: import pint [as 别名]
# 或者: from pint import UnitRegistry [as 别名]
def test_issue37(self):
        x = np.ma.masked_array([1, 2, 3], mask=[True, True, False])
        ureg = UnitRegistry()
        q = ureg.meter * x
        self.assertIsInstance(q, ureg.Quantity)
        np.testing.assert_array_equal(q.magnitude, x)
        self.assertEqual(q.units, ureg.meter.units)
        q = x * ureg.meter
        self.assertIsInstance(q, ureg.Quantity)
        np.testing.assert_array_equal(q.magnitude, x)
        self.assertEqual(q.units, ureg.meter.units)

        m = np.ma.masked_array(2 * np.ones(3,3))
        qq = q * m
        self.assertIsInstance(qq, ureg.Quantity)
        np.testing.assert_array_equal(qq.magnitude, x * m)
        self.assertEqual(qq.units, ureg.meter.units)
        qq = m * q
        self.assertIsInstance(qq, ureg.Quantity)
        np.testing.assert_array_equal(qq.magnitude, x * m)
        self.assertEqual(qq.units, ureg.meter.units) 
开发者ID:jmwright,项目名称:cadquery-freecad-module,代码行数:23,代码来源:test_issues.py

示例9: test_issue39

# 需要导入模块: import pint [as 别名]
# 或者: from pint import UnitRegistry [as 别名]
def test_issue39(self):
        x = np.matrix([[1, 2, 3], [1, 2, 3], [1, 2, 3]])
        ureg = UnitRegistry()
        q = ureg.meter * x
        self.assertIsInstance(q, ureg.Quantity)
        np.testing.assert_array_equal(q.magnitude, x)
        self.assertEqual(q.units, ureg.meter.units)
        q = x * ureg.meter
        self.assertIsInstance(q, ureg.Quantity)
        np.testing.assert_array_equal(q.magnitude, x)
        self.assertEqual(q.units, ureg.meter.units)

        m = np.matrix(2 * np.ones(3,3))
        qq = q * m
        self.assertIsInstance(qq, ureg.Quantity)
        np.testing.assert_array_equal(qq.magnitude, x * m)
        self.assertEqual(qq.units, ureg.meter.units)
        qq = m * q
        self.assertIsInstance(qq, ureg.Quantity)
        np.testing.assert_array_equal(qq.magnitude, x * m)
        self.assertEqual(qq.units, ureg.meter.units) 
开发者ID:jmwright,项目名称:cadquery-freecad-module,代码行数:23,代码来源:test_issues.py

示例10: test_issue74

# 需要导入模块: import pint [as 别名]
# 或者: from pint import UnitRegistry [as 别名]
def test_issue74(self):
        ureg = UnitRegistry()
        v1 = np.asarray([1., 2., 3.])
        v2 = np.asarray([3., 2., 1.])
        q1 = v1 * ureg.ms
        q2 = v2 * ureg.ms

        np.testing.assert_array_equal(q1 < q2, v1 < v2)
        np.testing.assert_array_equal(q1 > q2, v1 > v2)

        np.testing.assert_array_equal(q1 <= q2, v1 <= v2)
        np.testing.assert_array_equal(q1 >= q2, v1 >= v2)

        q2s = np.asarray([0.003, 0.002, 0.001]) * ureg.s
        v2s = q2s.to('ms').magnitude

        np.testing.assert_array_equal(q1 < q2s, v1 < v2s)
        np.testing.assert_array_equal(q1 > q2s, v1 > v2s)

        np.testing.assert_array_equal(q1 <= q2s, v1 <= v2s)
        np.testing.assert_array_equal(q1 >= q2s, v1 >= v2s) 
开发者ID:jmwright,项目名称:cadquery-freecad-module,代码行数:23,代码来源:test_issues.py

示例11: convert_units

# 需要导入模块: import pint [as 别名]
# 或者: from pint import UnitRegistry [as 别名]
def convert_units(dataset, in_unit, out_unit):
    """Convert units of *dataset*."""
    from pint import UnitRegistry

    ureg = UnitRegistry()
    # Commented because buggy: race condition ?
    # ureg.define("degree_Celsius = degC = Celsius = C = CELSIUS")
    in_unit = ureg.parse_expression(in_unit, False)
    if out_unit in ['CELSIUS', 'C', 'Celsius', 'celsius']:
        dest_unit = ureg.degC
    else:
        dest_unit = ureg.parse_expression(out_unit, False)
    data = ureg.Quantity(dataset, in_unit)
    attrs = dataset.attrs
    dataset = data.to(dest_unit).magnitude
    dataset.attrs = attrs
    dataset.attrs["units"] = out_unit
    return dataset 
开发者ID:pytroll,项目名称:satpy,代码行数:20,代码来源:ninjotiff.py

示例12: __init__

# 需要导入模块: import pint [as 别名]
# 或者: from pint import UnitRegistry [as 别名]
def __init__(self, database_path):
        # Initiate pint for unit conversions
        self.ureg = pint.UnitRegistry()
        self.cfg_energy_unit = cfg.getParam('calculation_energy_unit')
        self.cfg_currency = cfg.getParam('currency_name')
        self.cfg_currency_year = cfg.getParamAsInt('currency_year')

        db = get_database(database_path)
        self.currency_table = db.get_table("CurrenciesConversion").data
        self.currency_table = self.currency_table.set_index(['currency', 'year']).sort_index()
        self.inflation_table = db.get_table("InflationConversion").data
        self.inflation_table = self.inflation_table.set_index(['currency', 'year']).sort_index()

        for unit_def in UnitConverter._unit_defs:
            unit_name = unit_def.split(' = ')[0]
            if hasattr(self.ureg, unit_name):
                logging.debug('pint already has unit {}, unit is not being redefined'.format(unit_name))
                continue
            self.ureg.define(unit_def) 
开发者ID:energyPATHWAYS,项目名称:EnergyPATHWAYS,代码行数:21,代码来源:unit_converter.py

示例13: test_convert_unit_with_custom_registry

# 需要导入模块: import pint [as 别名]
# 或者: from pint import UnitRegistry [as 别名]
def test_convert_unit_with_custom_registry(test_df):
    # unit conversion with custom UnitRegistry
    df = get_units_test_df(test_df).rename(unit={'EJ/yr': 'foo'})

    # check that conversion fails with application registry
    with pytest.raises(pint.UndefinedUnitError):
        df.convert_unit('foo', 'baz')

    # define a custom unit registry
    ureg = pint.UnitRegistry()
    ureg.define('baz = [custom]')
    ureg.define('foo =  3 * baz')

    exp = pd.Series([1., 6., 1.5, 9, 6, 21], name='value')
    assert_converted_units(df, 'foo', 'baz', exp, registry=ureg)


# This test is parametrized as the product of three sets:
# 1. The test_df fixture.
# 2. Current species, context, and expected output magnitude.
# 3. Input and output expressions, and any factor on the output magnitude due
#    to differences in units between these. 
开发者ID:IAMconsortium,项目名称:pyam,代码行数:24,代码来源:test_units.py

示例14: _build_unit_registry

# 需要导入模块: import pint [as 别名]
# 或者: from pint import UnitRegistry [as 别名]
def _build_unit_registry():
    try:
        from pint import UnitRegistry

        registry = UnitRegistry()
        registry.define('FPS = 1 * hertz')
    except ImportError:
        class NoUnitRegistry:

            def __init__(self):
                pass

            def __getattr__(self, item):
                return 1

        registry = NoUnitRegistry()

    return registry 
开发者ID:morpheus65535,项目名称:bazarr,代码行数:20,代码来源:units.py

示例15: load_data

# 需要导入模块: import pint [as 别名]
# 或者: from pint import UnitRegistry [as 别名]
def load_data(self):
        super(SoundSpeedPlotter, self).load_data()

        self.pressure = [seawater.pres(self.temperature_depths[idx], ll[0])
                         for idx, ll in enumerate(self.points)]

        ureg = pint.UnitRegistry()
        try:
            u = ureg.parse_units(self.variable_units[0].lower())
        except:
            u = ureg.dimensionless

        if u == ureg.boltzmann_constant:
            u = ureg.kelvin

        if u == ureg.kelvin:
            temperature_c = ureg.Quantity(
                self.temperature, u).to(ureg.celsius).magnitude
        else:
            temperature_c = self.temperature

        self.sspeed = seawater.svel(
            self.salinity, temperature_c, self.pressure
        ) 
开发者ID:DFO-Ocean-Navigator,项目名称:Ocean-Data-Map-Project,代码行数:26,代码来源:sound.py


注:本文中的pint.UnitRegistry方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。