|
1 | 1 | import logging
|
2 | 2 | from collections.abc import Iterable
|
3 |
| -from typing import Optional, Union |
| 3 | +from typing import Optional |
4 | 4 |
|
5 | 5 | import pandas as pd
|
6 | 6 | from dask.core import quote
|
7 |
| -from genno import Key, Quantity |
| 7 | +from genno import Key |
8 | 8 | from genno.compat.pyam.util import collapse as genno_collapse
|
9 | 9 | from genno.core.key import single_key
|
10 |
| -from iam_units import registry |
11 | 10 | from message_ix import Reporter
|
12 | 11 | from sdmx.model.v21 import Code
|
13 | 12 |
|
|
70 | 69 | }
|
71 | 70 |
|
72 | 71 |
|
73 |
| -def as_quantity(info: Union[dict, float, str]) -> Quantity: |
74 |
| - """Convert values from a :class:`dict` to Quantity. |
75 |
| -
|
76 |
| - .. todo:: move upstream, to :mod:`genno`. |
77 |
| - """ |
78 |
| - if isinstance(info, str): |
79 |
| - q = registry.Quantity(info) |
80 |
| - return Quantity(q.magnitude, units=q.units) |
81 |
| - elif isinstance(info, float): |
82 |
| - return Quantity(info) |
83 |
| - elif isinstance(info, dict): |
84 |
| - data = info.copy() |
85 |
| - dim = data.pop("_dim") |
86 |
| - unit = data.pop("_unit") |
87 |
| - return Quantity(pd.Series(data).rename_axis(dim), units=unit) |
88 |
| - else: |
89 |
| - raise TypeError(type(info)) |
90 |
| - |
91 |
| - |
92 | 72 | def collapse(df: pd.DataFrame, var=[]) -> pd.DataFrame:
|
93 | 73 | """Callback for the `collapse` argument to :meth:`~.Reporter.convert_pyam`.
|
94 | 74 |
|
|
0 commit comments