Maison  >  Article  >  développement back-end  >  Comment convertir des données catégorielles en indices numériques dans Pandas ?

Comment convertir des données catégorielles en indices numériques dans Pandas ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-28 11:00:30784parcourir

How to Convert Categorical Data to Numerical Indices in Pandas?

Pandas : convertir des catégories en indices numériques

Dans Pandas, vous pouvez rencontrer des situations où vous devez convertir des données catégorielles, telles que des pays, en indices numériques. Bien que pd.get_dummies puisse convertir des catégories en encodages uniques, ce n'est pas toujours la solution la plus efficace. Voici un guide étape par étape sur la façon de convertir des catégories en indices numériques :

Étape 1 : catégoriser la colonne

Tout d'abord, modifiez le type de colonne en catégorique :

<code class="python">df.cc = pd.Categorical(df.cc)</code>

Cela convertit la colonne des pays en une colonne catégorielle, désignée par pd.Categorical(column_name).

Étape 2 : Créer une nouvelle colonne pour les codes

Ensuite, créez une nouvelle colonne pour stocker les indices numériques :

<code class="python">df['code'] = df.cc.codes</code>

L'attribut codes de la colonne catégorielle attribue à chaque catégorie un index entier unique.

Exemple :

Considérez le DataFrame suivant :

   cc  temp
0  US  37.0
1  CA  12.0
2  US  35.0
3  AU  20.0

Après avoir suivi les étapes ci-dessus, vous aurez un nouveau DataFrame :

   cc  temp  code
0  US  37.0     2
1  CA  12.0     1
2  US  35.0     2
3  AU  20.0     0

Options supplémentaires :

  • Obtenir des codes sans modifier DataFrame : df.cc.astype('category').codes
  • Créer une colonne catégorielle comme index : 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