iqss: harmoniser les valeurs des évolution
Les évolutions aujourd'hui ont plusieurs valeurs strings possiblequi se recouvrent,il faudrait les normaliser.
TLDR
- ESATIS les valeurs possibles sont:
2-Stable 2937 4-Non calculable 1913 3-Amélioration 742 1-Diminution 466
- IQSS autres, les valeurs possibles sont:
- pour les récents:
0 1 -1
- pour les anciens IQSS (pour la culture, ne concerne pas Qualiscope normalement ™)
Stable 7606 Positive 2889 Dégradation 1362 Négative 1344 Amélioration 145 Effectif 14
Pour les IQSS hors ESATIS, On décide procéder à l'harmonisation des valeurs d'évolution pour les représenter sous forme numérique.
Quelques analyses
Quick look
In [10]: df[df['key'].str.contains('evol')]['missing_value'].value_counts()
Out[10]:
Non concerné 26309
Non applicable 6221
Non calculable 378
Données insuffisantes 269
Non répondant 85
Non validé 62
Name: missing_value, dtype: int64
In [11]: df[df['key'].str.contains('evol')]['value_float'].value_counts()
Out[11]: Series([], Name: value_float, dtype: int64)
In [12]: df[df['key'].str.contains('evol')]['value_integer'].value_counts()
Out[12]:
0.0 1070
1.0 378
-1.0 227
Name: value_integer, dtype: int64
In [13]: df[df['key'].str.contains('evol')]['value_string'].value_counts()
Out[13]:
Stable 7606
Positive 2889
4-Non calculable 1675
2-Stable 1578
Dégradation 1362
Négative 1344
3-Amélioration 414
1-Diminution 294
Amélioration 145
Effectif 14
Name: value_string, dtype: int64
IQSS (hors ESATIS) avec des évolutions exprimées par des nombres entiers
In [28]: vdf[(vdf['key'].str.contains('evol')) & (vdf['value_integer'].notna())]['key'].value_counts()
Out[28]:
tch_ias_icshav4_2021-ichsa_v4_evolution 2646
ssr_dpa_pcd_2021-qls_evolution 1580
ssr_dpa_pspv_2021-pspv_evolution 1561
ssr_dpa_qls_2018-qls_evolution 1550
mco_dpa_pcd_2018-pcd_evolution 1225
mco_dpa_qls_2021-qls_evolution 1203
had_dpa_qls_2021-qls_evolution 897
ssr_dpa_pspv_2018-pspv_c_pos_evol_etbt 809
mco_eteortho_eteortho_2018-ete_ortho_evol_etbt 720
had_dpa_tre_2017-tre_evolution 410
had_dpa_coord_2021-coord_evolution 241
had_dpa_dtn_2017-dtn_evolution 156
had_dpa_coord_2018-coord_c_pos_evol_etbt 146
Name: key, dtype: int64
IQSS (hors ESATIS) avec des évolutions exprimées par des textes
In [23]: vdf[(vdf['key'].str.contains('evol')) & (vdf['value_string'].str.match(r'^\D', na=False))]['key'].value_counts()
Out[23]:
tch_ias_icsha.2_2015-icsha2_evol_etbt 2587
ssr_dpa_dtn2_2017-dtn2_c2_pos_evol_etbt 1433
mco_dpa_dtn2_2017-dtn2_c2_pos_evol_etbt 1093
mco_dpa_qls_2017-qls_c_pos_evol_etbt 1072
mco_dan_tda_2017-tda_c_pos_evol_etbt 909
mco_dan_trd_2017-trd_c_pos_evol_etbt 900
mco_rcp_rcp2_2017-rcp2_c2_pos_evol_etbt 675
mco_hpp_del1_2016-del1_c1_pos_evol_etbt 488
mco_hpp_surmin_2016-surmin_c_pos_evol_etbt 486
mco_avc_env_2016-env_c_pos_evol_etbt 434
mco_avc_dtd_2016-dtd_c_pos_evol_etbt 432
mco_avc_epr1_2016-epr1_c1_pos_evol_etbt 430
mco_avc_cpa_2016-cpa_c_pos_evol_etbt 426
mco_hpp_pecihppi_2016-peci_hppi_c_pos_evol_etbt 403
mco_dia_nut_2016-nut_c_pos_evol_etbt 283
mco_dia_ase_2016-ase_c_pos_evol_etbt 282
mco_dia_psh_2016-psh_c_pos_evol_etbt 278
mco_dia_aat_2016-aat_c_pos_evol_etbt 278
had_dpa_dtn_2017-dtn_c_pos_evol_etbt 240
had_dpa_tre_2017-tre_c_pos_evol_etbt 231
Name: key, dtype: int64
Edited by Timothée CHEHAB