Discrétisation de données

Exercices sur la création de classes de données avec pandas.

Objectifs

  • Explorer et manipuler des données
  • Créer des classes de données

Exercices

Amplitude fixe

NoteConsignes
  • Créez une colonne dans le tableau pib en divisant la colonne PIB_hab en 3 catégories d’amplitude égale : faible < moyen < élevé. Dans quelle catégorie se trouve Neuchâtel ?
  • Combien de valeurs chacune des catégories contient-elle ?
  • Avancé: Que se passe-t-il si on créé 4 catégories d’amplitude égale ?
Note

Utilisez la fonction pd.cut() pour créer des catégories d’amplitude fixe.

Les paramètres importants sont :

  • bins : le nombre de catégories ou les seuils des catégories
  • labels : les étiquettes des catégories (optionnel)
Astuce
# Amplitude fixe avec 3 catégories
pib['ampl_3'] = pd.cut(pib['PIB_hab'], bins=3, labels=['faible', 'moyen', 'élevé'])

pib[pib['Canton'] == "Neuchâtel"][['Canton', 'ampl_3']]
pib['ampl_3'].value_counts().sort_index()

# Amplitude fixe avec 4 catégories
pib['ampl_4'] = pd.cut(pib['PIB_hab'], bins=4)
pib['ampl_4'].value_counts().sort_index()

Effectifs fixes

NoteConsignes
  • Créez une colonne dans le tableau pib en divisant la colonne PIB_hab en 3 catégories d’effectifs fixes : faible < moyen < élevé. Dans quelle catégorie se trouve Neuchâtel à présent ?
  • Combien de valeurs chacune des catégories contiennent-elles ?
Note

Utilisez la fonction pd.qcut() pour créer des catégories d’effectifs fixes.

Les paramètres importants sont :

  • q : le nombre de catégories
  • labels : les étiquettes des catégories (optionnel)
Astuce
pib['q3'] = pd.qcut(pib['PIB_hab'], q=3, labels=['faible', 'moyen', 'élevé'])
pib[pib['Canton'] == "Neuchâtel"][['Canton', 'q3']]

pib['q3'].value_counts().sort_index()

Avancé: Seuils observés

NoteConsignes
  • Considérez le graphique du PIB par habitants.
  • Créez une colonne dans le tableau pib en divisant la colonne PIB_hab en 3 catégories manuelles. Quelle répartition vous semblent la plus pertinente ?

Note

Utilisez la fonction pd.cut() pour créer des catégories avec des seuils personnalisés.

Les paramètres importants sont :

  • bins : les seuils des catégories, une liste de valeurs, par exemple [0, 50000, 100000]
  • labels : les étiquettes des catégories (optionnel)
Astuce
pib['man_3'] = pd.cut(pib['PIB_hab'], bins=[0,90000,150000,250000])

pib['man_3'].value_counts().sort_index()