首頁 >後端開發 >Python教學 >如何將 Pandas 類別轉換為數值索引?

如何將 Pandas 類別轉換為數值索引?

Susan Sarandon
Susan Sarandon原創
2024-10-29 03:44:02476瀏覽

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

另一個選項是使用分類列作為新資料框的索引:

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

以上是如何將 Pandas 類別轉換為數值索引?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn