From 8c62eecce58f3ad444e6bcb3d9cabb7caa196afa Mon Sep 17 00:00:00 2001 From: Philip Hackstock <20710924+phackstock@users.noreply.github.com> Date: Mon, 22 Jan 2024 13:04:58 +0100 Subject: [PATCH] Fix pydantic warnings (#308) * Fix pydantic warnings * Fix pandas SettingWithCopyWarning --- nomenclature/processor/region.py | 9 +++++++-- tests/test_region_aggregation.py | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/nomenclature/processor/region.py b/nomenclature/processor/region.py index 10d0c61a..d6deb170 100644 --- a/nomenclature/processor/region.py +++ b/nomenclature/processor/region.py @@ -766,8 +766,13 @@ def _compare_and_merge( difference = compare[ ~np.isclose(compare["original"], compare["aggregated"], rtol=rtol) ] - difference["difference (%)"] = 100 * np.abs( - (difference["original"] - difference["aggregated"]) / difference["original"] + difference.insert( + len(difference.columns), + "difference (%)", + 100 + * np.abs( + (difference["original"] - difference["aggregated"]) / difference["original"] + ), ) difference = difference.sort_values("difference (%)", ascending=False) if difference is not None and len(difference): diff --git a/tests/test_region_aggregation.py b/tests/test_region_aggregation.py index b9e6b600..f10c7d89 100644 --- a/tests/test_region_aggregation.py +++ b/tests/test_region_aggregation.py @@ -42,7 +42,7 @@ def test_mapping(): ], "exclude_regions": None, } - assert obs.dict() == exp + assert obs.model_dump() == exp @pytest.mark.parametrize( @@ -136,7 +136,7 @@ def test_region_processor_working(region_processor_path, simple_definition): exp_dict = {value["model"][0]: value for value in exp_data} assert exp_models == set(obs.mappings.keys()) - assert all(exp_dict[m] == obs.mappings[m].dict() for m in exp_models) + assert all(exp_dict[m] == obs.mappings[m].model_dump() for m in exp_models) def test_region_processor_not_defined(simple_definition):