2016-02-19 70 views
1

當我運行的代碼我想在熊貓中看到重複的行,但我得到的回報是不是重複?

print len(combined_dataframe[combined_dataframe.duplicated()]) 
print sum(combined_dataframe.duplicated()) 

都告訴我,我有130,600重複行,所以我想看看一些重複行的。所以我用的代碼是

print combined_dataframe[combined_dataframe.duplicated()].head() 

它給我的回報是這樣的數據集。

 article_ID user_id date_clicked article_id send_time author_id topic_id 
514  224  1 2015-01-02   18 2015-01-02  3612  3 
515  224  1 2015-01-02  237 2015-01-02  9712  54 
516  224  1 2015-01-02  131 2015-01-02  481  60 
517  224  1 2015-01-02  277 2015-01-02  8842  57 
518  224  1 2015-01-02  124 2015-01-02  3664  95 

顯然它們不是重複的,因爲我可以在第4,6和7列中看到不同的值。我沒有指定任何列來查找重複項,所以它應該只返回所有重複的行,對嗎?

或者我用於查看重複行的代碼有問題。

回答

1

我想你需要添加參數keep=False運作duplicated,如果你需要的所有重複的行:

​​

Docs

保持:{ '第一', '最後', False},默認'第一'

第一:除第一次出現外,標記重複爲真。
last:除了最後一次出現以外,標記重複爲真。
錯誤:將所有重複項標記爲True。

由於keep : 'first'是默認值,所以只獲得第一個重複行。如果行仍然不同,請嘗試sort_values

+0

謝謝,排序幫助,即使我不明白重複來自何處,考慮到我在合併文件之前刪除了所有副本。 –