diff --git a/tests/test_generalized_raking.py b/tests/test_generalized_raking.py index ba3c5c9..ec93fc7 100644 --- a/tests/test_generalized_raking.py +++ b/tests/test_generalized_raking.py @@ -38,7 +38,10 @@ def test_invalid_input(): data = pd.DataFrame({"Gender": ["Male", "Male", "Female"]}) raker = GeneralizedRaker({"Gender": {"Male": 0.51, "Female": 0.5}}) raker.rake(data) - with pytest.raises(KeyError, match="There are observations for a value in 'Gender' that has not been mapped to a population target"): + with pytest.raises( + KeyError, + match="There are observations for a value in 'Gender' that has not been mapped to a population target", + ): data = pd.DataFrame({"Gender": ["Male", "Male", "Female", "Other"]}) raker = GeneralizedRaker({"Gender": {"Male": 0.51, "Female": 0.49}}) raker.rake(data) diff --git a/weightfactors/raking/generalized_raker.py b/weightfactors/raking/generalized_raker.py index 267ed50..21f0736 100644 --- a/weightfactors/raking/generalized_raker.py +++ b/weightfactors/raking/generalized_raker.py @@ -124,7 +124,9 @@ def validate_input(self, data: pd.DataFrame) -> None: # Make sure all unique values in the target columns have been mapped # It is impossible to set values with observations to a weight of 0 if len(data[key].unique()) != len(value): - raise KeyError(f"There are observations for a value in '{key}' that has not been mapped to a population target") + raise KeyError( + f"There are observations for a value in '{key}' that has not been mapped to a population target" + ) # Make sure we have at least 1 observation for each category # It is impossible to set values without observations to a weight larger than 1 for k, _ in value.items():