logo
Loading...

為何前面已經刪除欄位吼,選取相關係數還會出現? pop()的使用方式? 欄位不存在,該如何解決? - Cupoy

df = df.drop(['Survived'] , axis=1) #delete 'S...

ml100-2,ml100-2-d28

為何前面已經刪除欄位吼,選取相關係數還會出現? pop()的使用方式? 欄位不存在,該如何解決?

2019/05/21 下午 10:56
機器學習共學討論版
蔡昕芸
觀看數:15
回答數:2
收藏數:0
ml100-2
ml100-2-d28

回答列表

  • 2019/05/22 上午 01:43
    劉珍銘
    贊同數:0
    不贊同數:0
    留言數:0

    1. corr 是來源於更上面的程式碼 corr = df.corr() 這行,當時的 df 還沒有執行 drop(['Survieved']),執行 df.corr() 會回傳一個 DataFrame 這個跟原本的 df 是不同的個體,所以後來 df = df.drop(['Survived'] , axis=1) 並不會影響 corr 這一個 DataFrame 個體

    2. high_list.pop(-1) 是刪除 list "右邊數來" 第一個的意思,如果要刪除左邊數來第一個要用 .pop(0) 依此類推

    3. 問題是因為 df 已經不存在 'Survived' 這個欄位了,而這一個區塊說明白點是要篩選出跟 'Survived' 相關係數高的"其餘"欄位,因此 high_list 理論上就不應該還保有 'Survived' 欄位

  • 2019/05/22 下午 02:15
    張維元 (WeiYuan)
    贊同數:0
    不贊同數:0
    留言數:0

    1.為何前面已經刪除Survived欄位,卻在選取相關係數還會出現?


    => 是先計算相關係數,才刪除 Survived 的


    2.且pop(-1)是刪除'SibSp'(最後一個),還是第一個(第一個)? 


    => pop() 預設會刪除最後一次,等同於 pop(-1)。pop(0) 才是刪除第一個的做法。


    3.做完這行執行遇到錯誤為'Survived'欄位不存在,該如何解決?


    => 因為 df 當中的 Survived 已經被刪掉了