問題:
給定一個包含分類值的資料框,任務是轉換這些類別轉換為數字索引。假設我們有這樣的國家類別:
cc | temp US | 37.0 CA | 12.0 US | 35.0 AU | 20.0
我們的目標是為每個國家/地區分配一個索引,而不是使用get_dummies 進行單熱編碼,例如cc_index = [1,2, 1,3] .
解答:
要將Pandas 類別轉換為數位索引,請依照下列步驟操作:
更改分類列:
df.cc = pd.Categorical(df.cc)
建立一個新欄位來儲存類別代碼:
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中文網其他相關文章!