Skip to content

Commit 063304d

Browse files
committed
doctest
1 parent b91ea57 commit 063304d

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

src/pandas_openscm/index_manipulation.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -721,7 +721,7 @@ def update_levels_from_other(
721721

722722
def create_level_from_collection(
723723
level: str, value: Collection[Any]
724-
) -> tuple[Collection[Any], list[int]]:
724+
) -> tuple[pandas.Index[Any], list[int]]:
725725
"""
726726
Create new level and corresponding codes.
727727
@@ -743,7 +743,7 @@ def create_level_from_collection(
743743
# Fast route, can just return new level and codes from level we mapped from
744744
return value, list(range(len(value)))
745745
# Slow route, have to update the codes
746-
new_level = new_level.unique()
746+
new_level = new_level.unique() # type: ignore
747747
new_codes = new_level.get_indexer(value) # type: ignore
748748

749749
return new_level, new_codes
@@ -811,14 +811,22 @@ def set_levels(
811811
... start,
812812
... {"new_variable": [1, 2, 3, 4]},
813813
... )
814-
todo
814+
MultiIndex([('sa', 'ma', 'v1', 'kg', 1),
815+
('sb', 'ma', 'v2', 'm', 2),
816+
('sa', 'mb', 'v1', 'kg', 3),
817+
('sa', 'mb', 'v2', 'm', 4)],
818+
names=['scenario', 'model', 'variable', 'unit', 'new_variable'])
815819
>>>
816820
>>> # Replace a level with a single value and add a new level
817821
>>> set_levels(
818822
... start,
819823
... {"model": "new_model", "new_variable": ["xyz", "xyz", "x", "y"]},
820824
... )
821-
todo
825+
MultiIndex([('sa', 'new_model', 'v1', 'kg', "xyz"),
826+
('sb', 'new_model', 'v2', 'm', "xyz"),
827+
('sa', 'new_model', 'v1', 'kg', "x"),
828+
('sa', 'new_model', 'v2', 'm', "y")],
829+
names=['scenario', 'model', 'variable', 'unit', 'new_variable'])
822830
"""
823831
levels: list[pd.Index[Any]] = list(ini.levels)
824832
codes: list[list[int] | npt.NDArray[np.integer[Any]]] = list(ini.codes)

0 commit comments

Comments
 (0)