Mise en classe

📊 Comment discrétiser des données

Pascal Burkhard

janvier 2025

La discrétisation

La discrétisation – ou mise en classe – est une opération qui consiste à transformer des données continues en données discrètes. Cela permet de regrouper des valeurs en classes, ce qui facilite l’analyse et la visualisation des données.

Cette opération est souvent utilisée en cartographie pour représenter des phénomènes continus sur une carte. Cela permet de mettre en évidence des tendances et des disparités spatiales. Cela rend également les données plus lisibles pour le lecteur.

La discrétisation avec Pandas

Pandas propose deux fonctions pour faire des mises en classe :

  • pd.cut() : pour la mise en classe avec amplitude fixe ainsi que la mise en classe manuelle.
  • pd.qcut() : pour la mise en classe avec effectifs fixes (quantiles).

La syntaxe de ces deux fonctions est similaire. Elles prennent en argument la colonne à discrétiser et un paramètre spécifique à chaque fonction.

Amplitude fixe

Si on dispose d’une colonne valeurs dans un tableau df et qu’on souhaite la discrétiser en 4 classes, on peut utiliser la fonction cut(). On spécifie le nombre de classes avec le paramètre bins.

Classes manuelles

Pour spécifier vos propres classes, il faut donner une liste au paramètre bins.

Effectifs fixes

À la différence de cut(), qcut() utilise l’argument q pour spécifier le nombre de classes souhaitées.

Pour discrétiser en 4 classes avec effectifs fixes :

Labels

Les deux fonctions de mise en classe cut et qcut peuvent remplacer les valeurs des intervalles par des labels avec le paramètre labels.

Résumé des classes

On peut utiliser la méthode value_counts() pour obtenir le nombre d’occurrences de chaque classe. On peut combiner cette méthode avec sort_index() pour trier les classes par ordre croissant.