使用LabelEncoder()時,若想要修改內建的順序時,該如何做?
以講義的例子  若想要依照[M,L,XL]的順序編碼成[0,1,2] 請問應該如何修改? 謝謝
回答列表
-
2021/01/27 上午 11:07李柏霆贊同數:3不贊同數:0留言數:2
有個更快的方法 ```python df["size_label"]=df["size"].map({'M': 0, 'L': 1,'XL':2}) ``` 可參考這個: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.map.html
-
2021/01/27 下午 03:11張維元 (WeiYuan)贊同數:3不贊同數:0留言數:4
嗨,你好
scikit 的 LabelEncoder 無法指定自定義順序。更好的方式是採用 pandas 當中的 Categorical 型態。 ``` cat = pd.Categorical(["a", "c", "c", np.nan], categories=["b", "a", "c"]) ``` categories 參數可以指定順序。
嗨,你好,我是維元,持續在不同的平台發表對 #資料科學、 #網頁開發 或 #軟體職涯 相關的文章。如果對於內文有疑問都歡迎與我們進一步的交流,都可以追蹤我的 Facebook 或 技術部落格 ,也會不定時的舉辦分享活動,一起來玩玩吧 ヽ(●´∀`●)ノ 以下分享一些我近期發表跟資料科學有關的文章,歡迎大家持續追蹤: ■ 資料分析工具那麼多,該怎麼選? 🛠️
■ 真.資料團隊與分工
■ 觀察資料的 N 件事 🔖
■ 資料前處理必須要做的事 - 資料清理與型態調整