我有一个带有ID和日期(的df。下面是一个示例:
ID Date
1 26.04.2011
1 21.10.2011
14 25.02.2010
14 08.07.2010
14 20.10.2010
14 07.01.2011
14 20.04.2011
14 02.07.2011
14 11.10.2011
14 23.01.2012
14 19.04.2012
14 22.10.2012
14 15.01.2013
14 06.05.2013
18 23.11.2012
18 05.06.2013
18 19.08.2013
18 11.04.2014
18 18.07.2014
ID object
Date datetime64[ns]
我只想保留每个ID每年的日期数=〈3的那些行。因此,结果应该是:
ID Date
14 25.02.2010
14 08.07.2010
14 20.10.2010
14 07.01.2011
14 20.04.2011
14 02.07.2011
14 11.10.2011
14 23.01.2012
14 19.04.2012
14 22.10.2012
我尝试了groupby和size:
ID year size
0 1 2011 2
1 14 2010 3
2 14 2011 4
然而这不是我想要的。
1条答案
按热度按时间bkhjykvo1#
使用
GroupBy.transform
/ID
和年份,按GroupBy.size
计数,按Series.ge
比较是否大于或等于,并在boolean indexing
中过滤: