2017-05-08 199 views
0

我有以下格式的數據幀計數重複行:Python從一個數據幀

UserId, CurrentUserLocationId, RegisteredUserLocationId, RestorauntId 

我要計數的鍵(UserId, CurrentUserLocationId, RegisteredUserLocationId)

例如獨特外觀的量,如果該對(1, 1, 1)出現一次,我希望停止計數並將其包含在最終結果中。所以出現的每個獨特的對我只需要計數一次。

我試着做的是使用groupby(['col1', 'col2', 'col3']).size()但是這個計數所有的記錄。數據集I將使用具有十億條記錄的代碼。

有沒有內置的方法來完成我想要做的事情?或者更確切地說,做這種計數的最快方法是什麼?

回答

2
DataFrame.drop_duplicates() 
DataFrame.count 

如果有必要在丟棄重複項之前複製數據框,並且只在需要作爲唯一組合的列中調用重複數據幀時調用該數據框。

+0

drop_duplicates需要多長時間執行十億條記錄? – Hydroxis

+0

很難說,重複刪除應該是相當有效的(對於有序集合,當值與之前的刪除相同時),但是任何大的......很難說。 – TLOwater