如何在python中使用pandas获得所有重复项的列表?

我有一份可能有一些出口问题的物品清单。我想得到一个重复项目的列表,这样我可以手动比较它们。当我尝试使用pandas duplicated方法时,它只返回第一个副本。有没有办法得到所有的副本而不仅仅是第一个

我的数据集的一小部分如下所示:

ID、注册日期、培训师管理、培训师操作员、首次就诊日期
1536D,2012年2月12日,“06DA1B3黎巴嫩新罕布什尔州”,2012年2月15日
2012年5月18日,F15D,“06405B2黎巴嫩新罕布什尔州”,2012年7月25日
8096年8月8日,2012年6月25日,NH汉诺威0643D38,NH汉诺威0643D38
A036,2012年4月1日,“06CB8CF汉诺威NH”,“06CB8CF汉诺威NH”,2012年8月9日
2012年2月19日,8944,“新罕布什尔州汉诺威06D26AD”,2012年2月4日
1004E,2012年6月8日,“06388B2黎巴嫩新罕布什尔州”,2011年12月24日
11795年,2012年7月3日,“弗吉尼亚州白河0649597号”,“弗吉尼亚州白河0649597号”,2012年3月30日
2012年11月11日第30D7页,“06D95A3新罕布什尔州汉诺威”,“06D95A3新罕布什尔州汉诺威”,2011年11月30日
2012年2月21日,“06405B2黎巴嫩新罕布什尔州”,2012年10月26日
B0FE,2012年2月17日,“06D1B9D哈特兰VT”,2012年2月16日
127A1,11-Dec-11,“064456E汉诺威NH”,“064456E汉诺威NH”,2012年11月11日
2012年2月20日,161FF,“0643D38汉诺威NH”,“0643D38汉诺威NH”,2012年7月3日
2011年11月30日,A036,“063B208伦道夫VT”,“063B208伦道夫VT”,
2012年9月25日,475B,“新罕布什尔州汉诺威06D26AD”,2012年11月5日
151A3,2012年3月7日,“06388B2黎巴嫩新罕布什尔州”,2012年11月16日
CA62,2012年1月3日,,,
D31B,2011年12月18日,“06405B2黎巴嫩新罕布什尔州”,2012年1月9日
2012年7月8日,20F5,“2012年2月3日,兰多夫VT 0669C50”
2011年12月19日第8096页,“弗吉尼亚州白河0649597号”,“弗吉尼亚州白河0649597号”,2012年4月9日
2014年8月1日至12日,“新罕布什尔州汉诺威06D3206”,,
177F8,2012年8月20日,“063B208伦道夫VT”,“063B208伦道夫VT”,2012年5月5日
553E,2012年10月11日,“06D95A3 NH汉诺威”,“06D95A3 NH汉诺威”,2012年3月8日
2012年7月18日,第12层,“弗吉尼亚州白河0649597号”,“弗吉尼亚州白河0649597号”,2012年11月2日
C6DC,2012年4月13日,“06388B2黎巴嫩新罕布什尔州”,,
11795年,2012年2月27日,“0643D38汉诺威NH”,“0643D38汉诺威NH”,2012年6月19日
17B43,2012年8月11日,2012年10月22日
2012年8月11日,A036,2012年6月19日,NH汉诺威06D3206

我的代码当前看起来像这样:

df_bigdata_duplicates=df_bigdata[df_bigdata.duplicated(cols='ID')]

有两个重复的项目。但是,当我使用上面的代码时,我只得到第一项。在API参考中,我看到了如何获得最后一项,但我希望获得所有这些项,以便我可以直观地检查它们,以了解我获得差异的原因。所以,在这个示例中,我希望获得所有三个A036条目,以及11795条目和任何其他重复条目,而不仅仅是第一个条目。非常感谢您的帮助

方法#1:打印ID为重复ID之一的所有行:

&gt&燃气轮机&燃气轮机;作为pd进口熊猫
&燃气轮机&燃气轮机&燃气轮机;df=pd.read\U csv(“dup.csv”)
&燃气轮机&燃气轮机&燃气轮机;ids=df[“ID”]
&燃气轮机&燃气轮机&燃气轮机;df[ids.isin(ids[ids.duplicated()])].sort(“ID”)
ID注册日期培训师管理培训师操作员首次访问日期
24 11795 27-Feb-12 0643D38 NH汉诺威0643D38 NH汉诺威2012年6月19日
6 11795 3-Jul-12 0649597怀特河VT 0649597怀特河VT 2012年3月30日
18 8096 19-Dec-11 0649597怀特河VT 0649597怀特河VT 2012年4月9日
28096年8月12日0643D38新罕布什尔州汉诺威0643D38新罕布什尔州汉诺威2012年6月25日
12 A036 30-11月30日063B208兰多夫VT 063B208兰多夫VT南
3 A036 1-Apr-12 06CB8CF NH汉诺威06CB8CF NH汉诺威2012年8月9日
26 A036 11-Aug-12 06D3206 NH NaN汉诺威2012年6月19日

但是我想不出一个好办法来防止重复多次id。我更喜欢ID上的方法2:groupby

&gt&燃气轮机&燃气轮机;pd.concat(如果长度(g)>1,则在df.groupby(“ID”)中表示g,g)
ID注册日期培训师管理培训师操作员首次访问日期
6 11795 3-Jul-12 0649597怀特河VT 0649597怀特河VT 2012年3月30日
24 11795 27-Feb-12 0643D38 NH汉诺威0643D38 NH汉诺威2012年6月19日
28096年8月12日0643D38新罕布什尔州汉诺威0643D38新罕布什尔州汉诺威2012年6月25日
18 8096 19-Dec-11 0649597怀特河VT 0649597怀特河VT 2012年4月9日
3 A036 1-Apr-12 06CB8CF NH汉诺威06CB8CF NH汉诺威2012年8月9日
12 A036 30-11月30日063B208兰多夫VT 063B208兰多夫VT南
26 A036 11-Aug-12 06D3206 NH NaN汉诺威2012年6月19日

发表评论