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
472 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!

source:php.cn
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