子集数据框和groupby大熊猫

时间:2019-03-15 12:38:55

标签: python python-3.x pandas

每个人,我都有一个数据框,例如:

groups  name
1   A
1   B
1   C
1   D
2   E
3   F
3   G
4   H
5   I

从那以后,我只想将数据组中单独存在的值保留在数据框中:

groups  name
2   E
4   H
5   I

E,H和我分别在各自的组中。

我尝试过:

df[df.groupby(['groups']).count() == 1 ]

但这似乎不是解决方案。

2 个答案:

答案 0 :(得分:2)

使用duplicated

df[~df.groups.duplicated(keep=False)]

   groups name
4       2    E
7       4    H
8       5    I

或者,drop_duplicates

df.drop_duplicates('groups', keep=False)

   groups name
4       2    E
7       4    H
8       5    I

答案 1 :(得分:1)

GroupBy.transform用于大小与原始DataFrame相同的系列:

df[df.groupby(['groups'])['name'].transform('size') == 1 ]