Dataframe:
Group Name Pop
A F 5
A C 4
A D 4
B E 6
B L 4我需要一个数据,其中只有数据保留,其中至少有三个名字在一个组。因此,产出:
Group Name Pop
A F 5
A C 4
A D 4我认为最简单的方法是按组分组,其中组值计数为3或更多。我尝试过不同的方法,总是有一些错误。
df['Group'].apply(lambda x: x.value_counts()>2) #for example this发布于 2015-04-18 18:33:46
这样做的groupby方法是通过'Group‘,然后是filter
In [6]:
df.groupby('Group').filter(lambda x: x['Name'].count() > 2)
Out[6]:
Group Name Pop
0 A F 5
1 A C 4
2 A D 4以上不提供重复名称的折扣,如果您希望使用3或更多的唯一名称计数,则可以使用nunique进行筛选。
In [7]:
df.groupby('Group').filter(lambda x: x['Name'].nunique() > 2)
Out[7]:
Group Name Pop
0 A F 5
1 A C 4
2 A D 4https://stackoverflow.com/questions/29721216
复制相似问题