logo
Loading...

計數編碼問題 - Cupoy

不好意思,想請問一下上圖count_df = df.groupby(['Ticket'])['Nam...

merge,ml100-2,ml100-2-d24

計數編碼問題

2019/05/11 02:15 AM
機器學習新手論壇
fang
觀看數:0
回答數:1
收藏數:0
merge
ml100-2
ml100-2-d24

不好意思,想請問一下

上圖

count_df = df.groupby(['Ticket'])['Name'].agg({'Ticket_Count':'size'}).reset_index()

是在對資料加上'Ticket' 欄位,當作計數編碼

而轉換欄之後會呈現出這樣子的排列


之後的語法為

df = pd.merge(df, count_df, on=['Ticket'], how='left')

這邊範例教材上的解釋我就看不太懂了...


這邊的註釋寫

#  而上面資料表結果只是 'Ticket' 名稱對應的次數,

#  要做計數編碼還需要第二行 : 將上表結果與原表格 merge, 合併於 'Ticket' 欄位

#  使用 how='left' 是完全保留原資料表的所有 index 與順序



我想問的是....

1.為何我要和原本的資料合併? (是因為我要合併之後才能看正相關還是負相關嗎?)這個目的是什麼...?

2.使用 how='left' 是完全保留原資料表的所有 index 與順序...這句話是什麼意思?



我有上網查了一下,merge()是多對一的合併,on=['Ticket']即為以['Ticket']左右對分

那麼這邊how='left',是指說原始資料 .....只要留住['Ticket']左邊的['Name']與['Sex']欄

然後再與上的圖['Ticket']右邊的['Ticket_Count']合併嗎?


(下圖為原始資料)


如果是的話...那為什麼..

此語法df呈現出來的合併卻沒有['Ticket_Count']存在?




不好意思..還麻煩老師回答兩個問題了QQ.