Maison > développement back-end > Tutoriel Python > Comment convertir les colonnes catégorielles Pandas en indices numériques sans « get_dummies » et « numpy » ?

Comment convertir les colonnes catégorielles Pandas en indices numériques sans « get_dummies » et « numpy » ?

Susan Sarandon
Libérer: 2024-10-27 22:51:02
original
555 Les gens l'ont consulté

How to Convert Pandas Categorical Columns to Numerical Indices Without `get_dummies` and `numpy`?

Convertir les catégories Pandas en nombres

Considérez un DataFrame avec une colonne catégorielle, telle que les codes de pays :

cc | temp
US | 37.0
CA | 12.0
US | 35.0
AU | 20.0
Copier après la connexion

Pour convertir ces catégories en indices, en évitant l'utilisation de get_dummies et numpy, envisagez les étapes suivantes :

  1. Catégoriser la colonne : Convertissez la colonne catégorielle en un type catégoriel :
df.cc = pd.Categorical(df.cc)
Copier après la connexion
  1. Récupérer les codes de catégorie : utilisez l'attribut .codes pour récupérer les codes entiers de chaque catégorie :
df['code'] = df.cc.codes
Copier après la connexion

Le DataFrame résultant comprendra un nouvelle colonne appelée code avec 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

Alternativement, vous pouvez obtenir les codes des catégories sans modifier le DataFrame :

df.cc.astype('category').codes
Copier après la connexion
  1. Utiliser comme index : Si vous le souhaitez, vous pouvez utiliser la colonne catégorielle comme index pour un autre 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