執行雜湊程式出現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 比較好