我有一个大学学生的数据集,我想保留那些没有辍学的学生的观测值,即多年来所有的观测值
例如:
Name Year
Jacop 2010
Jacop 2011
Jacop 2012
Jacop 2013
Nina 2008
Nina 2009
Nina 2010
我需要类似按名称计数值的方法,如果它小于4,请放下。怎么做 ?
最佳答案
我认为您需要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