Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 按多列分组以查找重复行_Python_Pandas - Fatal编程技术网

Python 按多列分组以查找重复行

Python 按多列分组以查找重复行,python,pandas,Python,Pandas,我有一个df id val1 val2 1 1.1 2.2 1 1.1 2.2 2 2.1 5.5 3 8.8 6.2 4 1.1 2.2 5 8.8 6.2 我想按val1和val2进行分组,并仅获得具有相同val1和val2组合多次出现的行的类似数据帧 最终df: id val1 val2 1 1.1 2.2 4 1.

我有一个
df

id    val1    val2
 1     1.1      2.2
 1     1.1      2.2
 2     2.1      5.5
 3     8.8      6.2
 4     1.1      2.2
 5     8.8      6.2
我想按
val1和val2
进行分组,并仅获得具有相同
val1和val2
组合多次出现的行的类似数据帧

最终
df

id    val1    val2
 1     1.1      2.2
 4     1.1      2.2
 3     8.8      6.2
 5     8.8      6.2
您需要使用参数
subset
指定列,以便使用
keep=False
检查掩码和筛选的所有重复项:

详情:

print (df.duplicated(subset=['val1','val2'], keep=False))
0     True
1     True
2    False
3     True
4     True
5     True
dtype: bool

我怎样才能找到这些?我需要对ID[0,1,4]进行分组,因为它们具有相同的数据。@VenkataGogu-使用
df.groupby('val1')
@jezrael您的意思是
groupby
复制之前还是之后?你能把这个添加到你的答案中吗?@KLaz-你需要
df.groupby(['val1','val2'])['id'].agg(list).重置索引(name='new')
print (df.duplicated(subset=['val1','val2'], keep=False))
0     True
1     True
2    False
3     True
4     True
5     True
dtype: bool