Problème :
Étant donné une trame de données contenant des valeurs catégorielles, la tâche consiste à convertir ces catégories en indices numériques. Supposons que nous ayons des pays sous forme de catégories comme celle-ci :
cc | temp US | 37.0 CA | 12.0 US | 35.0 AU | 20.0
Au lieu d'encodages ponctuels utilisant get_dummies, l'objectif est d'attribuer à chaque pays un index, tel que cc_index = [1,2,1,3] .
Solution :
Pour convertir les catégories Pandas en indices numériques, suivez ces étapes :
Modifiez le type de données de la colonne catégorielle :
df.cc = pd.Categorical(df.cc)
Créez une nouvelle colonne pour stocker les codes de catégorie :
df['code'] = df.cc.codes
Cela se traduira par un dataframe avec la colonne de code supplémentaire contenant les indices numériques :
cc temp code 0 US 37.0 2 1 CA 12.0 1 2 US 35.0 2 3 AU 20.0 0
Vous pouvez également utiliser la méthode astype pour convertir la colonne catégorielle directement en colonne catégorielle avec des codes :
df.cc.astype('category').codes
Un autre L'option consiste à utiliser la colonne catégorielle comme index d'un nouveau dataframe :
df2 = pd.DataFrame(df.temp) df2.index = pd.CategoricalIndex(df.cc)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!