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

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

Susan Sarandon
發布: 2024-10-29 03:44:02
原創
579 人瀏覽過

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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板