我有一个大学学生的数据集,我想保留那些没有退学的学生的观察结果,即多年来对所有学生的观察 例如:
Name Year
Jacop 2010
Jacop 2011
Jacop 2012
Jacop 2013
Nina 2008
Nina 2009
Nina 2010
我需要像名字一样计算值,如果它小于4,则丢弃。怎么做?
答案 0 :(得分:2)
我认为你需要filter
:
df = df.groupby('Name').filter(lambda x: len(x) >= 4)
print (df)
Name Year
0 Jacop 2010
1 Jacop 2011
2 Jacop 2012
3 Jacop 2013
transform
和boolean indexing
的另一种解决方案:
df = df[df.groupby('Name')['Name'].transform('size') >= 4]
print (df)
Name Year
0 Jacop 2010
1 Jacop 2011
2 Jacop 2012
3 Jacop 2013