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

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