Skip to content

Commit

Permalink
Apply formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
nikhilwoodruff committed Jul 28, 2021
1 parent fcc65d4 commit 63b447f
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 17 deletions.
8 changes: 5 additions & 3 deletions openfisca_uk/graphs/general.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,17 @@ def formalise_column_names(df: pd.DataFrame) -> pd.DataFrame:


def net_cost(
baseline_sim: Microsimulation, reform_sim: Microsimulation, invert: bool = False, variable: str = "net_income"
baseline_sim: Microsimulation,
reform_sim: Microsimulation,
invert: bool = False,
variable: str = "net_income",
) -> float:
if invert:
multiplier = -1
else:
multiplier = 1
return multiplier * (
reform_sim.calc(variable).sum()
- baseline_sim.calc(variable).sum()
reform_sim.calc(variable).sum() - baseline_sim.calc(variable).sum()
)


Expand Down
16 changes: 13 additions & 3 deletions openfisca_uk/graphs/population.py
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,12 @@ def waterfall_data(
net_costs = []
for i in range(len(reform) + 1):
net_costs += [
net_cost(baseline, Microsimulation(reform[:i], **kwargs), invert=invert_y, variable=aggregate)
net_cost(
baseline,
Microsimulation(reform[:i], **kwargs),
invert=invert_y,
variable=aggregate,
)
]
net_costs = np.array(net_costs)
labels = subreform_labels + ["Remaining"]
Expand Down Expand Up @@ -241,7 +246,7 @@ def waterfall_chart(
reform_labels: List[str] = None,
baseline: Microsimulation = None,
aggregate: str = "net_income",
invert_y: bool = False
invert_y: bool = False,
):
"""Generates a waterfull funding breakdown plot.
Expand All @@ -262,7 +267,12 @@ def waterfall_chart(

return px.bar(
waterfall_data(
reforms, reform_labels, subreform_labels, baseline=baseline, aggregate=aggregate, invert_y=invert_y,
reforms,
reform_labels,
subreform_labels,
baseline=baseline,
aggregate=aggregate,
invert_y=invert_y,
),
x="component",
y="amount",
Expand Down
38 changes: 27 additions & 11 deletions openfisca_uk/tools/simulation.py
Original file line number Diff line number Diff line change
Expand Up @@ -407,12 +407,18 @@ def deriv(
dataset=self.dataset,
year=self.year,
)
original_values = self.bonus_sims[config].calc(wrt, self.year).values
original_values = (
self.bonus_sims[config].calc(wrt, self.year).values
)
if not percent:
self.bonus_sims[config].simulation.set_input(wrt, self.year, original_values + delta)
self.bonus_sims[config].simulation.set_input(
wrt, self.year, original_values + delta
)
else:
self.bonus_sims[config].simulation.set_input(wrt, self.year, original_values * (1 + delta))

self.bonus_sims[config].simulation.set_input(
wrt, self.year, original_values * (1 + delta)
)

bonus_sim = self.bonus_sims[config]
bonus_increase = bonus_sim.calc(wrt).astype(float) - self.calc(
wrt
Expand All @@ -439,25 +445,35 @@ def deriv(

derivative = np.empty((len(adult))) * np.nan

for i in range(
max_group_size
):
for i in range(max_group_size):
config = (wrt, delta, percent, "group-entity", i)
if config not in self.bonus_sims:
self.bonus_sims[config] = Microsimulation(
self.passed_reforms,
dataset=self.dataset,
year=self.year,
)
original_values = self.bonus_sims[config].calc(wrt, self.year).values
original_values = (
self.bonus_sims[config].calc(wrt, self.year).values
)
existing_var_class = system.variables[wrt].__class__

altered_variable = type(wrt, (existing_var_class,), {})
if not percent:
self.bonus_sims[config].simulation.set_input(wrt, self.year, original_values + delta * (index_in_group == i) * adult)
self.bonus_sims[config].simulation.set_input(
wrt,
self.year,
original_values
+ delta * (index_in_group == i) * adult,
)
else:
self.bonus_sims[config].simulation.set_input(wrt, self.year, original_values * (1 + delta * (index_in_group == i) * adult))

self.bonus_sims[config].simulation.set_input(
wrt,
self.year,
original_values
* (1 + delta * (index_in_group == i) * adult),
)

bonus_sim = self.bonus_sims[config]
bonus_increase = bonus_sim.calc(wrt).astype(float) - self.calc(
wrt
Expand Down

0 comments on commit 63b447f

Please sign in to comment.