logo
Loading...

執行雜湊程式出現cannot reindex from a duplicate axis - Cupoy

您好請問,在執行雜湊程式的過程如下:若只是先整理df到「只取類別值 (object) 型欄位」的步驟...

ml100-2,day_024_hw,雜湊編碼

執行雜湊程式出現cannot reindex from a duplicate axis

2019/05/19 下午 08:31
機器學習共學討論版
JS
觀看數:1
回答數:1
收藏數:0
ml100-2
day_024_hw
雜湊編碼

您好請問,在執行雜湊程式的過程如下:

若只是先整理df到「只取類別值 (object) 型欄位」的步驟,直接跑下段的程式會出現 ValueError

但是若調整成在前面先加上這一段:

就又能順利進行剛剛的雜湊了


看不懂 cannot reindex from a duplicate axis 的意思,比較前後做成的df好像只有差在後者多一欄Cabin的計數編碼Cabin_Count,但Cabin本身應該沒有差別吧?


那這是否意味著在進行雜湊編碼或均值編碼前,要先執行計數編碼呢?

回答列表

  • 2019/05/21 上午 10:53
    陳明佑 (Ming You Chen)
    贊同數:1
    不贊同數:0
    留言數:0

    這邊的原因主要是在 In[1] 的時候, 

    df = pd.concat([df_train,df_test]) 這一行並沒有 reset

    所以 test 部分的 index 仍會從1開始編號, 以至於你執行的時候會報錯

    執行過下面那塊可以, 是因為其中有一行 reset_index 了

    同學可以在之行的前後, 將 df.index 印出來比較一下就知道了


    其實 concat 是應該立刻 reset index, 不過也是要看用法

    這裡就可以看出, 如果要避免意外的問題, concat 後還是先 reset 比較好