Maison  >  Article  >  développement back-end  >  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
Susan Sarandonoriginal
2024-10-27 22:51:02420parcourir

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

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)
  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

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

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

df.cc.astype('category').codes
  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)

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:
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