ホームページ >バックエンド開発 >Python チュートリアル >Pandas カテゴリを数値インデックスに変換するにはどうすればよいですか?

Pandas カテゴリを数値インデックスに変換するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-29 03:44:02468ブラウズ

How to Convert Pandas Categories to Numerical Indices?

Pandas カテゴリを数値インデックスに変換する

問題:

カテゴリ値を含むデータフレームが与えられた場合、タスクは変換することですこれらのカテゴリーを数値インデックスに変換します。次のようなカテゴリとして国があるとします。

cc | temp
US | 37.0
CA | 12.0
US | 35.0
AU | 20.0

get_dummies を使用したワンホット エンコーディングの代わりに、目標は、各国に cc_index = [1,2,1,3] のようなインデックスを割り当てることです。 .

解決策:

Pandas カテゴリを数値インデックスに変換するには、次の手順に従います:

  1. データ型を変更します。カテゴリ列:

    df.cc = pd.Categorical(df.cc)
  2. カテゴリ コードを保存する新しい列を作成します:

    df['code'] = df.cc.codes

これにより、データフレームが生成されます数値インデックスを含む追加のコード列:

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

または、astype メソッドを利用して、カテゴリカル列をコード付きのカテゴリカル列に直接変換できます:

df.cc.astype('category').codes

Anotherオプションは、カテゴリ列を新しいデータフレームのインデックスとして使用することです:

df2 = pd.DataFrame(df.temp)
df2.index = pd.CategoricalIndex(df.cc)

以上がPandas カテゴリを数値インデックスに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。