2016-02-19 42 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

谢谢,排序帮助,即使我不明白重复来自何处,考虑到我在合并文件之前删除了所有副本。 –