首頁 >後端開發 >Python教學 >如何在沒有'get_dummies”和'numpy”的情況下將 Pandas 分類列轉換為數字索引?

如何在沒有'get_dummies”和'numpy”的情況下將 Pandas 分類列轉換為數字索引?

Susan Sarandon
Susan Sarandon原創
2024-10-27 22:51:02546瀏覽

How to Convert Pandas Categorical Columns to Numerical Indices Without `get_dummies` and `numpy`?

將Pandas 類別轉換為數字

考慮帶有分類列的DataFrame,例如國家/地區代碼:

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

要將這些類別轉換為索引,避免使用get_dummies 和numpy,請考慮以下步驟:

  1. 對列進行分類:將分類列轉換為分類類型:
df.cc = pd.Categorical(df.cc)
  1. 擷取類別代碼:使用.codes 屬性擷取每個類別的整數程式碼:
df['code'] = df.cc.codes

產生的DataFrame 將包含一個名稱為code 的新列,帶有數字索引:

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

或者,您可以在不修改DataFrame 的情況下獲取類別代碼:

df.cc.astype('category').codes
  1. 用作索引:如果需要,您可以使用分類列作為另一個DataFrame 的索引:
df2 = pd.DataFrame(df.temp)
df2.index = pd.CategoricalIndex(df.cc)

以上是如何在沒有'get_dummies”和'numpy”的情況下將 Pandas 分類列轉換為數字索引?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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