亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

熊貓:將類別轉換為數字

熊貓:將類別轉換為數字

UYOU 2019-08-19 15:14:34
熊貓:將類別轉換為數字假設我有一個數據框,其國家/地區如下:cc | tempUS | 37.0CA | 12.0US | 35.0AU | 20.0我知道有一個pd.get_dummies函數可以將這些國家/地區轉換為“單熱編碼”。但是,我希望將它們轉換為索引,以便我得到它cc_index = [1,2,1,3]。我假設有一種比使用get_dummies和numpy where子句更快的方法,如下所示:[np.where(x) for x in df.cc.get_dummies().values]使用'因子'在R中這樣做有點容易,所以我希望大熊貓有類似的東西。
查看完整描述

3 回答

?
浮云間

TA貢獻1829條經驗 獲得超4個贊

如果您只希望將系列轉換為整數標識符,則可以使用pd.factorize。


請注意,此解決方案pd.Categorical不會按字母順序排序。所以第一個國家將被分配0。如果您想從頭開始1,可以添加常量:


df['code'] = pd.factorize(df['cc'])[0] + 1


print(df)


   cc  temp  code

0  US  37.0     1

1  CA  12.0     2

2  US  35.0     1

3  AU  20.0     3

如果您希望按字母順序排序,請指定sort=True:


df['code'] = pd.factorize(df['cc'], sort=True)[0] + 1 


查看完整回答
反對 回復 2019-08-19
  • 3 回答
  • 0 關注
  • 610 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號