Exemples de conversion de données quantitatives en données catégorielles avec pandas en utilisant "cut":
Table des matières
Créer des données synthétiques
Commençons par créer de fausses données :
import random
l = [random.randint(0,100) for i in range(10)]
donne par exemple
[66, 44, 62, 99, 82, 13, 7, 58, 60, 38]
Enregistrer les données dans une dataframe
import pandas as pd
import numpy as np
data = np.array(l)
df = pd.DataFrame(data,columns=['x'])
print(df)
donne
x
0 66
1 44
2 62
3 99
4 82
5 13
6 7
7 58
8 60
9 38
Aggregation
Pour convertir des données numériques en données catégorielles, une solution avec pandas consiste à utiliser cut
pd.cut(df['x'], [0,25,50,75,100], labels=['A', 'B', 'C', 'D'])
donne
0 C
1 B
2 C
3 D
4 D
5 A
6 A
7 C
8 C
9 B
Name: x, dtype: category
Categories (4, object): ['A' < 'B' < 'C' < 'D']
Créez une nouvelle colonne :
df['Cx'] = pd.cut(df['x'], [0,25,50,75,100], labels=['A', 'B', 'C', 'D'])
print(df)
donne
x Cx
0 66 C
1 44 B
2 62 C
3 99 D
4 82 D
5 13 A
6 7 A
7 58 C
8 60 C
9 38 B