diff --git a/CHANGELOG.md b/CHANGELOG.md index 002d38e7e5..e49f84bdb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +### 48.9.5 [#1395](https://github.com/openfisca/openfisca-france/pull/1395) + +* Amélioration technique. +* Périodes concernées : toutes. +* Zones impactées : `model/prestations/logement_social.py`. +* Détails : + - La formule zone_logement_social retournait un scalar `numpy.ndarray[int]`. + - Corrige zone_logement_social pour retourner un vecteur `numpy.ndarray[bool]`. + - Note : à partir de Numpy 1.18, l'utilisation de `select` avec une valeur non `bool` est dépréciée. + ### 48.9.4 [#1399](https://github.com/openfisca/openfisca-france/pull/1399) * Évolution du système socio-fiscal. diff --git a/openfisca_france/model/prestations/logement_social.py b/openfisca_france/model/prestations/logement_social.py index 3cd612d198..e6420be41c 100644 --- a/openfisca_france/model/prestations/logement_social.py +++ b/openfisca_france/model/prestations/logement_social.py @@ -1,7 +1,10 @@ -# -*- coding: utf-8 -*- +from numpy import char, isin, logical_not as not_, select -from numpy.core.defchararray import startswith -from openfisca_france.model.base import * +from openfisca_core.indexed_enums import Enum +from openfisca_core.periods import MONTH +from openfisca_core.variables import Variable + +from openfisca_france.entities import Famille, Menage paris_communes_limitrophes = [ b'75056', # Paris @@ -64,9 +67,8 @@ class zone_logement_social(Variable): def formula(menage, period): depcom = menage('depcom', period) - - in_paris_communes_limitrophes = sum([depcom == commune_proche_paris for commune_proche_paris in paris_communes_limitrophes]) - in_idf = sum([startswith(depcom, departement) for departement in departements_idf]) + in_paris_communes_limitrophes = isin(depcom, paris_communes_limitrophes) + in_idf = isin(char.ljust(depcom, 2), departements_idf) return select( [ diff --git a/setup.cfg b/setup.cfg index d6d8d57976..f2d1afde0e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -17,4 +17,3 @@ in-place = true addopts = --showlocals --exitfirst --doctest-modules --disable-pytest-warnings testpaths = tests python_files = **/*.py - diff --git a/setup.py b/setup.py index 6636f000a7..d54d029449 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ setup( name = "OpenFisca-France", - version = "48.9.4", + version = "48.9.5", author = "OpenFisca Team", author_email = "contact@openfisca.fr", classifiers = [