Maison > développement back-end > Tutoriel Python > Comment convertir les catégories Pandas en indices numériques ?

Comment convertir les catégories Pandas en indices numériques ?

Susan Sarandon
Libérer: 2024-10-29 03:44:02
original
562 Les gens l'ont consulté

How to Convert Pandas Categories to Numerical Indices?

Conversion des catégories Pandas en indices numériques

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
Copier après la connexion

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 :

  1. Modifiez le type de données de la colonne catégorielle :

    df.cc = pd.Categorical(df.cc)
    Copier après la connexion
  2. Créez une nouvelle colonne pour stocker les codes de catégorie :

    df['code'] = df.cc.codes
    Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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)
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal