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

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

Susan Sarandon
發布: 2024-10-27 22:51:02
原創
545 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板