我有一个看起来像这样的数据框:
数据框中有几组,每组连续两年以上。例如,在这种情况下,组A包含2000-2005和2010-2015。我要做的是仅保留包含目标年份的连续年份。对于A组,这些值为2010-2015。 B组将被删除,因为连续两个年份中都没有包含2006年的目标年份。结果应如下所示
几天来我一直在思考这个问题,但没有任何线索。任何帮助将不胜感激,非常感谢您的指导。
真诚的
威尔逊
答案 0 :(得分:1)
因此,就像我们解决您的previous问题一样,这里只需添加由any
和transform
创建的另一个条件
s1=df.g.groupby([df.g,df.Year.diff().ne(1).cumsum()]).transform('count').ne(1)
s2=df.Year.eq(df['Target Year']).groupby([df.g,df.Year.diff().ne(1).cumsum()]).transform('any')
df[s1&s2]