pandas - 检查dataframe groupby中的非唯一值

时间:2015-11-16 09:32:52

标签: python pandas

我有这个简单的数据框df

a,b
1,2
1,3
1,4
1,2
2,1
2,2
2,3
2,5
2,5

我想检查b中每个组a是否有重复项。到目前为止,我做了以下事情:

g = df.groupby('a')['b'].unique()

返回:

a
1       [2, 3, 4]
2    [1, 2, 3, 5]

但我想要的是a中每个组b中多次出现的列表。在这种情况下,预期的输出是:

a
1    [2]
2    [5]

2 个答案:

答案 0 :(得分:7)

g=df.groupby('a')['b'].value_counts()
g.where(g>1).dropna()

答案 1 :(得分:3)

我们可以使用duplicated

print(df[df.duplicated()].drop_duplicates())