From f95b07a1af76c90af071cc746532dab90b0b2e46 Mon Sep 17 00:00:00 2001 From: Lola Josseran Date: Thu, 11 Jan 2024 15:32:18 +0100 Subject: [PATCH 01/13] Correction function compute_pivot_tables in ReformScenario --- openfisca_survey_manager/scenarios/reform_scenario.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openfisca_survey_manager/scenarios/reform_scenario.py b/openfisca_survey_manager/scenarios/reform_scenario.py index a9e3a0e3..1b04e8c8 100644 --- a/openfisca_survey_manager/scenarios/reform_scenario.py +++ b/openfisca_survey_manager/scenarios/reform_scenario.py @@ -185,15 +185,15 @@ def compute_pivot_table(self, aggfunc = 'mean', columns = None, difference = Fal return super(ReformScenario, self).compute_pivot_table( aggfunc = aggfunc, columns = columns, - baseline_simulation = self._get_simulation(use_baseline = True), + baseline_simulation = "baseline", filter_by = filter_by, index = index, period = period, - simulation = self._get_simulation(use_baseline), + simulation = "reform", difference = difference, use_baseline_for_columns = use_baseline_for_columns, values = values, - missing_variable_default_value = missing_variable_default_value.nan, + missing_variable_default_value = missing_variable_default_value, concat_axis = concat_axis, weighted = weighted, alternative_weights = alternative_weights, From b90ceaecbd89ee7cf81d5350d4bddb69a3af3a53 Mon Sep 17 00:00:00 2001 From: Lola Josseran Date: Thu, 11 Jan 2024 15:38:55 +0100 Subject: [PATCH 02/13] changelog et version --- CHANGELOG.md | 4 ++++ setup.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1daf8059..487f34a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +# 2.0.4 [#283](https://github.com/openfisca/openfisca-survey-manager/pull/283) + +- Correction function compute_pivot_tables in ReformScenario + # 2.0.3 [#282](https://github.com/openfisca/openfisca-survey-manager/pull/282) - Correction typo error in create_data_frame_by_entity diff --git a/setup.py b/setup.py index 0b5ca0e8..dc3b0d53 100644 --- a/setup.py +++ b/setup.py @@ -30,7 +30,7 @@ setup( name = 'OpenFisca-Survey-Manager', - version = '2.0.3', + version = '2.0.4', author = 'OpenFisca Team', author_email = 'contact@openfisca.fr', classifiers = [classifier for classifier in classifiers.split('\n') if classifier], From 33bfcacf62652a14ca952b1780545a627d0298ed Mon Sep 17 00:00:00 2001 From: Lola Josseran Date: Fri, 12 Jan 2024 10:23:11 +0100 Subject: [PATCH 03/13] Use Simulation instance instead of AbstractSurveyScenario instance --- openfisca_survey_manager/scenarios/reform_scenario.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/openfisca_survey_manager/scenarios/reform_scenario.py b/openfisca_survey_manager/scenarios/reform_scenario.py index 1b04e8c8..db755eba 100644 --- a/openfisca_survey_manager/scenarios/reform_scenario.py +++ b/openfisca_survey_manager/scenarios/reform_scenario.py @@ -8,6 +8,7 @@ from openfisca_core.types import Array, Period from openfisca_survey_manager.scenarios.abstract_scenario import AbstractSurveyScenario +from openfisca_survey_manager.simulations import Simulation log = logging.getLogger(__name__) @@ -182,14 +183,16 @@ def compute_pivot_table(self, aggfunc = 'mean', columns = None, difference = Fal period = None, use_baseline = False, use_baseline_for_columns = None, values = None, missing_variable_default_value = np.nan, concat_axis = None, weighted = True, alternative_weights = None): - return super(ReformScenario, self).compute_pivot_table( + filtering_variable_by_entity = self.filtering_variable_by_entity + + return Simulation.compute_pivot_table( aggfunc = aggfunc, columns = columns, - baseline_simulation = "baseline", + baseline_simulation = self._get_simulation(use_baseline = True), filter_by = filter_by, index = index, period = period, - simulation = "reform", + simulation = self._get_simulation(use_baseline), difference = difference, use_baseline_for_columns = use_baseline_for_columns, values = values, @@ -197,6 +200,7 @@ def compute_pivot_table(self, aggfunc = 'mean', columns = None, difference = Fal concat_axis = concat_axis, weighted = weighted, alternative_weights = alternative_weights, + filtering_variable_by_entity = filtering_variable_by_entity ) def compute_winners_loosers(self, variable = None, From 7bf246137b7593543e6169696f071354f51b3f01 Mon Sep 17 00:00:00 2001 From: Lola Josseran Date: Fri, 12 Jan 2024 17:08:46 +0100 Subject: [PATCH 04/13] test compute_pivot_table --- .../tests/test_compute_pivot_table.py | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 openfisca_survey_manager/tests/test_compute_pivot_table.py diff --git a/openfisca_survey_manager/tests/test_compute_pivot_table.py b/openfisca_survey_manager/tests/test_compute_pivot_table.py new file mode 100644 index 00000000..e61a3d45 --- /dev/null +++ b/openfisca_survey_manager/tests/test_compute_pivot_table.py @@ -0,0 +1,26 @@ +import logging + +from openfisca_survey_manager.tests.test_scenario import create_randomly_initialized_survey_scenario +from openfisca_country_template.reforms.modify_social_security_taxation import modify_social_security_taxation +from openfisca_survey_manager.scenarios.reform_scenario import ReformScenario + +def test_compute_pivot_table(): + survey_scenario = create_randomly_initialized_survey_scenario(reform = modify_social_security_taxation) + period = "2017-01" + + return survey_scenario.compute_pivot_table( + aggfunc = "mean", + columns = ['decile'], + difference = False, + filter_by = None, + index = None, + period = period, + use_baseline = True, + use_baseline_for_columns = True, + values = ['niveau_de_vie'], + missing_variable_default_value = 0, + concat_axis = None, + weighted = True, + alternative_weights = None, + ) + From b2584ff6999b76a7c6c5dff9f79db1a0e11c5bba Mon Sep 17 00:00:00 2001 From: Lola Josseran Date: Fri, 12 Jan 2024 17:13:58 +0100 Subject: [PATCH 05/13] test compute_pivot_table --- openfisca_survey_manager/tests/test_compute_pivot_table.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/openfisca_survey_manager/tests/test_compute_pivot_table.py b/openfisca_survey_manager/tests/test_compute_pivot_table.py index e61a3d45..3b8449c6 100644 --- a/openfisca_survey_manager/tests/test_compute_pivot_table.py +++ b/openfisca_survey_manager/tests/test_compute_pivot_table.py @@ -1,8 +1,5 @@ -import logging - from openfisca_survey_manager.tests.test_scenario import create_randomly_initialized_survey_scenario from openfisca_country_template.reforms.modify_social_security_taxation import modify_social_security_taxation -from openfisca_survey_manager.scenarios.reform_scenario import ReformScenario def test_compute_pivot_table(): survey_scenario = create_randomly_initialized_survey_scenario(reform = modify_social_security_taxation) @@ -23,4 +20,3 @@ def test_compute_pivot_table(): weighted = True, alternative_weights = None, ) - From 0c26fa60d8c4fb5797242ac5df6124f45095c0de Mon Sep 17 00:00:00 2001 From: Lola Josseran Date: Fri, 12 Jan 2024 17:20:20 +0100 Subject: [PATCH 06/13] test compute_pivot_table --- openfisca_survey_manager/tests/test_compute_pivot_table.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openfisca_survey_manager/tests/test_compute_pivot_table.py b/openfisca_survey_manager/tests/test_compute_pivot_table.py index 3b8449c6..1feb1b48 100644 --- a/openfisca_survey_manager/tests/test_compute_pivot_table.py +++ b/openfisca_survey_manager/tests/test_compute_pivot_table.py @@ -1,6 +1,7 @@ from openfisca_survey_manager.tests.test_scenario import create_randomly_initialized_survey_scenario from openfisca_country_template.reforms.modify_social_security_taxation import modify_social_security_taxation + def test_compute_pivot_table(): survey_scenario = create_randomly_initialized_survey_scenario(reform = modify_social_security_taxation) period = "2017-01" @@ -19,4 +20,4 @@ def test_compute_pivot_table(): concat_axis = None, weighted = True, alternative_weights = None, - ) + ) From 78775309c424f82713c67f615e5b0770935b8c45 Mon Sep 17 00:00:00 2001 From: Lola Josseran Date: Fri, 12 Jan 2024 17:36:22 +0100 Subject: [PATCH 07/13] test compute_pivot_table --- openfisca_survey_manager/tests/test_compute_pivot_table.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openfisca_survey_manager/tests/test_compute_pivot_table.py b/openfisca_survey_manager/tests/test_compute_pivot_table.py index 1feb1b48..4e50f5a7 100644 --- a/openfisca_survey_manager/tests/test_compute_pivot_table.py +++ b/openfisca_survey_manager/tests/test_compute_pivot_table.py @@ -8,7 +8,7 @@ def test_compute_pivot_table(): return survey_scenario.compute_pivot_table( aggfunc = "mean", - columns = ['decile'], + columns = None, difference = False, filter_by = None, index = None, From 6001e1b27362a23473a36041d6197720e29718a9 Mon Sep 17 00:00:00 2001 From: Lola Josseran Date: Fri, 12 Jan 2024 17:40:02 +0100 Subject: [PATCH 08/13] test compute_pivot_table --- openfisca_survey_manager/tests/test_compute_pivot_table.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openfisca_survey_manager/tests/test_compute_pivot_table.py b/openfisca_survey_manager/tests/test_compute_pivot_table.py index 4e50f5a7..2de2d075 100644 --- a/openfisca_survey_manager/tests/test_compute_pivot_table.py +++ b/openfisca_survey_manager/tests/test_compute_pivot_table.py @@ -15,7 +15,7 @@ def test_compute_pivot_table(): period = period, use_baseline = True, use_baseline_for_columns = True, - values = ['niveau_de_vie'], + values = None, missing_variable_default_value = 0, concat_axis = None, weighted = True, From af8d85ef9919d3a3b448512030009ea971d074b5 Mon Sep 17 00:00:00 2001 From: Lola Josseran Date: Tue, 16 Jan 2024 10:39:56 +0100 Subject: [PATCH 09/13] test --- openfisca_survey_manager/tests/test_compute_pivot_table.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openfisca_survey_manager/tests/test_compute_pivot_table.py b/openfisca_survey_manager/tests/test_compute_pivot_table.py index 2de2d075..e89ed663 100644 --- a/openfisca_survey_manager/tests/test_compute_pivot_table.py +++ b/openfisca_survey_manager/tests/test_compute_pivot_table.py @@ -7,15 +7,15 @@ def test_compute_pivot_table(): period = "2017-01" return survey_scenario.compute_pivot_table( - aggfunc = "mean", - columns = None, + aggfunc = mean, + columns = ['decile'], difference = False, filter_by = None, index = None, period = period, use_baseline = True, use_baseline_for_columns = True, - values = None, + values = ['niveau_de_vie'], missing_variable_default_value = 0, concat_axis = None, weighted = True, From 1ce45207062bc93a787dfe89725a45149331760e Mon Sep 17 00:00:00 2001 From: Lola Josseran Date: Tue, 16 Jan 2024 10:43:16 +0100 Subject: [PATCH 10/13] test --- openfisca_survey_manager/tests/test_compute_pivot_table.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openfisca_survey_manager/tests/test_compute_pivot_table.py b/openfisca_survey_manager/tests/test_compute_pivot_table.py index e89ed663..1feb1b48 100644 --- a/openfisca_survey_manager/tests/test_compute_pivot_table.py +++ b/openfisca_survey_manager/tests/test_compute_pivot_table.py @@ -7,7 +7,7 @@ def test_compute_pivot_table(): period = "2017-01" return survey_scenario.compute_pivot_table( - aggfunc = mean, + aggfunc = "mean", columns = ['decile'], difference = False, filter_by = None, From 662fe79e0ca7659c001da56ac99be972b1bc651a Mon Sep 17 00:00:00 2001 From: Lola Josseran Date: Tue, 16 Jan 2024 10:48:18 +0100 Subject: [PATCH 11/13] test --- openfisca_survey_manager/tests/test_compute_pivot_table.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openfisca_survey_manager/tests/test_compute_pivot_table.py b/openfisca_survey_manager/tests/test_compute_pivot_table.py index 1feb1b48..58751109 100644 --- a/openfisca_survey_manager/tests/test_compute_pivot_table.py +++ b/openfisca_survey_manager/tests/test_compute_pivot_table.py @@ -8,14 +8,14 @@ def test_compute_pivot_table(): return survey_scenario.compute_pivot_table( aggfunc = "mean", - columns = ['decile'], + columns = ['age'], difference = False, filter_by = None, index = None, period = period, use_baseline = True, use_baseline_for_columns = True, - values = ['niveau_de_vie'], + values = ['salary'], missing_variable_default_value = 0, concat_axis = None, weighted = True, From 32fa980e3146ba2afc19b707e41bc970c0ac81bc Mon Sep 17 00:00:00 2001 From: Lola Josseran Date: Wed, 17 Jan 2024 15:57:00 +0100 Subject: [PATCH 12/13] Add assert --- openfisca_survey_manager/simulations.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openfisca_survey_manager/simulations.py b/openfisca_survey_manager/simulations.py index b8493385..8c4700f2 100644 --- a/openfisca_survey_manager/simulations.py +++ b/openfisca_survey_manager/simulations.py @@ -310,6 +310,8 @@ def compute_pivot_table(simulation: Simulation = None, baseline_simulation: Simu admissible_aggfuncs = ['max', 'mean', 'min', 'sum', 'count', 'sum_abs'] assert aggfunc in admissible_aggfuncs assert columns or index or values + assert isinstance(simulation, Simulation) + assert isinstance(baseline_simulation, Simulation) if baseline_simulation is not None: tax_benefit_system = baseline_simulation.tax_benefit_system From 3d4a15aedb885b6462c8ab6bc278a7905abde97a Mon Sep 17 00:00:00 2001 From: Lola Josseran Date: Wed, 17 Jan 2024 16:14:58 +0100 Subject: [PATCH 13/13] Assert canceled --- openfisca_survey_manager/simulations.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/openfisca_survey_manager/simulations.py b/openfisca_survey_manager/simulations.py index 8c4700f2..b8493385 100644 --- a/openfisca_survey_manager/simulations.py +++ b/openfisca_survey_manager/simulations.py @@ -310,8 +310,6 @@ def compute_pivot_table(simulation: Simulation = None, baseline_simulation: Simu admissible_aggfuncs = ['max', 'mean', 'min', 'sum', 'count', 'sum_abs'] assert aggfunc in admissible_aggfuncs assert columns or index or values - assert isinstance(simulation, Simulation) - assert isinstance(baseline_simulation, Simulation) if baseline_simulation is not None: tax_benefit_system = baseline_simulation.tax_benefit_system