logo
Loading...

類別型欄位補缺None的問題 - Cupoy

範例中有提到,if df[c].dtype == 'object': # 如果是文字型 / 類別型欄...

ml100-2,ml100-2-d17

類別型欄位補缺None的問題

2019/06/15 下午 01:47
機器學習共學討論版
redcard
觀看數:23
回答數:2
收藏數:0
ml100-2
ml100-2-d17

範例中有提到,if df[c].dtype == 'object': # 如果是文字型 / 類別型欄位, 就先補缺 'None' 後, 再做標籤編碼

但是到了作業,if df[c].dtype == 'object':,就沒有再補缺 'None' 的處理

請問是為什麼?

回答列表

  • 2019/06/17 上午 10:35
    陳明佑 (Ming You Chen)
    贊同數:
    不贊同數:
    留言數:

    其實兩個寫法都是可以的

    只是第一種寫法比較接近原意 : 這樣後面在做 MinMaxEncoder 時不用再經過list轉換

    第二種寫法比較簡潔,但比較難懂 : 如果 MinMaxEncoder 不放在list中會出狀況, 只好加裝

  • 2019/06/18 下午 03:10
    張維元 (WeiYuan)
    贊同數:1
    不贊同數:0
    留言數:0

    嗨,我們試著把這些處理都拿掉:

    這樣執行之後會顯示錯誤:TypeError: unorderable types: str() < int()


    原因是因為資料中有大量的 -1 ,在做轉換的時候會被誤判成數字。因此你可以選擇幾種做法:


    1. 轉換前先把資料中的 -1 補值成 None

    2. 利用 df[c] = df[c].astype('str') 將資料轉換成字串型態

    3. 用 df[c].values 將資料轉成 array,array 本身就限定型態唯一