Python 如何在集团层面检查重复?

Python 如何在集团层面检查重复?,python,pandas,dataframe,Python,Pandas,Dataframe,如何检查并删除重复的组?这是我的数据框: Group Value_1 Value_2 A 17 0.1 A 20 0.8 A 22 0.9 A 24 0.13 B 17 0.1 B 20 0.8 B 22

如何检查并删除重复的组?这是我的数据框:

Group     Value_1      Value_2
 A          17           0.1
 A          20           0.8
 A          22           0.9
 A          24           0.13

 B          17           0.1
 B          20           0.8
 B          22           0.9
 B          24           0.13

 C          17           0.1
 C          20           0.8
 C          22           0.9
 C          26           0.11    
在该数据帧中,A组和B组是重复的,而C组不是重复的,因为它的第四个元素不同,因此它是唯一的而不是重复的,结果数据帧应如下所示:

Group     Value_1      Value_2
 A          17           0.1
 A          20           0.8
 A          22           0.9
 A          24           0.13


 C          17           0.1
 C          20           0.8
 C          22           0.9
 C          26           0.11    
我尝试分组并检查重复项,但这将检查观测级别上的值。如何在组级别检查重复项?

您可以通过使用
frozenset
进行使用和聚合,然后通过删除重复项(默认情况下为所有列)并获取索引-所有组名称:

idx = df.groupby('Group').agg(frozenset).drop_duplicates().index
#alternative solution
idx = df.groupby('Group').agg(tuple).drop_duplicates().index
或通过和重塑为:

最后一个筛选条件为:

g = df.groupby('Group').cumcount()
idx = df.set_index(['Group',g]).unstack().drop_duplicates().index
df = df[df['Group'].isin(idx)]
print (df)
   Group  Value_1  Value_2
0      A       17     0.10
1      A       20     0.80
2      A       22     0.90
3      A       24     0.13
8      C       17     0.10
9      C       20     0.80
10     C       22     0.90
11     C       26     0.11