问题标签 [pint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
65 浏览

python - 为什么品脱要创建第二个注册表?

我不断收到“无法使用不同注册表的数量和数量进行操作”。错误,我不知道为什么。在下面的代码片段中,Pint 创建了一个用于填充常量/流体字典的注册表。当我从数字数据创建 DataFrame 时,Pint 使用不同的注册表......我不知道为什么。

抱歉,MWE 有点长。底部的循环/方程式是引发错误的原因,但我添加了一些打印语句来检查单元注册表,它们确实不同......帮助?

编辑:如果我重新启动内核 Pint 只使用一个注册表。但是在任何后续运行中,即使我清除了变量,我也会得到两个不同的注册表。我不确定这是否对任何人都有帮助,但这是更多信息。我希望程序只使用一个注册表,即使我在同一个内核中多次运行它....

这将创建以下输出:

很明显,实际的注册表 NUMBERS 有时会在代码执行之间发生变化,但是,最重要的是,前三个总是与后两个不同......

0 投票
1 回答
71 浏览

python - 用品脱解析单位

品脱文档清楚地说明了如何解析“1 米”之类的数量。如何仅解析一个单位,例如“米”?所有这些都返回一个值为 1 的数量:

我知道我可以做quantity.uquantity.units只得到单位,但这似乎很笨重。

0 投票
0 回答
12 浏览

pint - 如何防止品脱将非常小的百分比转换为“milli-pct”?

品脱棒极了。我现在正在尝试使用 Datasette 中的这些声明来定义元数据以处理百分比:

后来(在我的数据库表声明中):

当数据显示为 0.004 时,它报告为 400 mpct,但我希望它报告为 0.4 pct。如何在我的单位声明中告诉我在打印时我从不希望前缀作为我的单位的一部分?我认为我没有通过使用特定的打印语句来控制其行为的奢侈?(如打印(metric.to(ureg.pct)))

0 投票
0 回答
23 浏览

python - 检查 Python Pint 单位尺寸之间的差异包括 1 / 体积

我将 Python 与美妙的Pint 包一起使用,它使单位变得简单。

我有几个不同的用户输入单位。我不能确定用户会输入什么,但这里有一些例子。

我有一个单位,我想尝试将用户单位转换为。

例如,这可能是

在尝试转换之前,我正在寻找一种方法来检查用户输入单位和要转换的单位之间是否存在差异。查看它们的尺寸是否因体积而异。

如果是这种情况,我将返回一条小消息,要求用户指定音量。

在这种情况下,example_user_units_1.dimensionalityexample_required_units.dimensionality相差几个单位,包括一个因子,1 / [length] **3所以这将被代码拾取并提示用户输入音量信息。

差异可能包括其他单位,但如果有体积,我想检测它。

0 投票
0 回答
16 浏览

javascript - 如何根据 Pint 的单位和前缀构建自动完成页面字段

我希望能够在页面字段中输入“Mpa”,并使用Pint 的ureg 单位和前缀将“MegaPascal”作为自动完成的可选项目返回。主要问题是 MegaPascal 不是实际的尿素元素,它是“Mega”前缀与“Pascal”尿素单位的结合。我假设可以在页面加载时通过 api url 将 pint 的 ureg 单位名称和缩写加载到 Javascript 数组中,然后可以使用函数作为源来搜索 JQuery UI自动完成这些数组。但是我看不到如何从 Pint 中提取 Pint 的前缀或如何将它们集成到自动完成源函数查找中。我目前的解决方案是将所有品脱单位和缩写加载到 Django 模型中并使用 django'

0 投票
2 回答
79 浏览

python - Python Pint:将单位的短表示设置为默认值

品脱单位默认使用全名表示:

从文档和这个答案中可以看出,单位可以用简短的形式表示,这是它们在现实世界中通常表示的方式:

但是,我想将短表示设置为默认值,可以吗?

0 投票
2 回答
47 浏览

python - 以品脱为单位测试单位等效性

如何在 Pint 中测试单位等效性?例如,nM等价于nmol/LL等价于dm^3,但根据品脱,它们不相等。我不想要 Pint 通过该is_compatible_with方法提供的兼容性。例如,s与 兼容ms,但它们不等价。

0 投票
0 回答
40 浏览

python - 在 Pint 中定义自己的单位字符串格式

从网站https://pint.readthedocs.io/en/stable/tutorial.html#string-formatting 您可以使用漂亮的表示{:~P}'.format(accel)来获得简短的单位表示。我可以定义自己的短格式吗?我不想使用 Pint 的默认格式。我如何自己定义它?谢谢!

如果您想使用缩写的单位名称,请在规范前面加上 ~:

LaTeX (L) 和 HTML (H) 规范也是如此。

注意 缩写单位取自单位注册表,当使用前缀“~”时,将返回等价链中的第 3 项(即 1 = 2 = 3)。链中的第一项是单位的规范名称。

格式化规范(即“L”、“H”、“P”)可以与 Python 字符串格式化语法一起用于自定义浮点表示。例如,科学记数法:

0 投票
2 回答
52 浏览

python - pint:将地理 CRS 度数转换为海里

我想使用品脱将度数(地理 CRS 中的距离)转换为海里。

https://geopandas.org/docs/reference/api/geopandas.GeoDataFrame.sjoin_nearest.html以 epsg:4326 为单位输出距离。

给定距离(以纳米为单位)因赤道到两极而异,我不确定这是否可能。

我可以使用 1 度 ~= 111 公里 ~= 60 海里的经验法则。

也许它可以使用起点和距离来计算,例如:https ://github.com/anitagraser/movingpandas/blob/master/movingpandas/geometry_utils.py#L38

此代码也很有用:https ://geopy.readthedocs.io/en/stable/#module-geopy.distance

这是一些要测试的代码:

0 投票
1 回答
50 浏览

python - 在 `pint` 中,设置每个单元的 `default_format`

基本上是标题。在pint中,有没有办法定义每个维度每个单元的默认字符串格式,而不是“全面”?

更准确地说:我想根据其物理单位格式化一个数量的数值(即大小)。

这是我尝试过的,基于文档中显示的代码:

尤其是在处理价格时,可以设置 2 位默认值,而所有其他单位具有不同的默认格式。

PS:我知道可以为单个数量(例如dist.default_format = '.2f~')设置默认格式,但这对我的用例来说太具体了。我希望以 'km' 为单位的所有数量都以 2 位小数显示。