idees eurostat rescaling also for period 1990-1999

This commit is contained in:
Fabian Neumann 2024-03-13 13:40:23 +01:00
parent a429b48874
commit 2eb159af7c

View File

@ -856,20 +856,25 @@ def rescale_idees_from_eurostat(
] ]
for country in idees_countries: for country in idees_countries:
slicer_target = idx[country, 2016:2021, :, :] filling_years = [(2015, slice(2016, 2021)), (2000, slice(1990, 1999))]
slicer_source = idx[country, 2015, :, :]
for source_year, target_years in filling_years:
slicer_source = idx[country, source_year, :, :]
slicer_target = idx[country, target_years, :, :]
for sector, mapping in mappings.items(): for sector, mapping in mappings.items():
sector_ratio = ratio.loc[ sector_ratio = ratio.loc[
(country, slice(None), slice(None), sector) (country, slice(None), slice(None), sector)
].droplevel("lvl2") ].droplevel("lvl2")
energy.loc[slicer_target, mapping["total"]] = cartesian( energy.loc[slicer_target, mapping["total"]] = cartesian(
sector_ratio.loc[2016:2021, "total"], sector_ratio.loc[target_years, "total"],
energy.loc[slicer_source, mapping["total"]].squeeze(), energy.loc[slicer_source, mapping["total"]].squeeze(axis=0),
).values ).values
energy.loc[slicer_target, mapping["elec"]] = cartesian( energy.loc[slicer_target, mapping["elec"]] = cartesian(
sector_ratio.loc[2016:2021, "ele"], sector_ratio.loc[target_years, "ele"],
energy.loc[slicer_source, mapping["elec"]].squeeze(), energy.loc[slicer_source, mapping["elec"]].squeeze(axis=0),
).values ).values
level_drops = ["country", "lvl2", "lvl3"] level_drops = ["country", "lvl2", "lvl3"]
@ -884,15 +889,18 @@ def rescale_idees_from_eurostat(
nav = ratio.loc[slicer, "total"].droplevel(level_drops) nav = ratio.loc[slicer, "total"].droplevel(level_drops)
energy.loc[slicer_target, avia_inter] = cartesian( energy.loc[slicer_target, avia_inter] = cartesian(
avi_i.loc[2016:2021], energy.loc[slicer_source, avia_inter].squeeze() avi_i.loc[target_years],
energy.loc[slicer_source, avia_inter].squeeze(axis=0),
).values ).values
energy.loc[slicer_target, avia_domestic] = cartesian( energy.loc[slicer_target, avia_domestic] = cartesian(
avi_d.loc[2016:2021], energy.loc[slicer_source, avia_domestic].squeeze() avi_d.loc[target_years],
energy.loc[slicer_source, avia_domestic].squeeze(axis=0),
).values ).values
energy.loc[slicer_target, navigation] = cartesian( energy.loc[slicer_target, navigation] = cartesian(
nav.loc[2016:2021], energy.loc[slicer_source, navigation] nav.loc[target_years],
energy.loc[slicer_source, navigation].squeeze(axis=0),
).values ).values
return energy return energy