您可以这样操作:
In [252]: df.groupby(['employer_key','account_id']) \
...: .apply(lambda x: len(x.query("'2015-11-01' <= login_date <= '2016-04-30'")) > 0) \
...: .reset_index()
Out[252]:
employer_key account_id 0
0 dell_inc 3333333 True
1 dell_inc 5555555 False
2 google 1111111 True
3 google 4444444 True
4 walmart 2222222 True
In [249]: df.groupby(['employer_key','account_id'])['login_date'] \
...: .apply(lambda x: len(x[x.ge('2015-11-01') & x.le('2016-04-30')]) > 0)
Out[249]:
employer_key account_id
dell_inc 3333333 True
5555555 False
google 1111111 True
4444444 True
walmart 2222222 True
Name: login_date, dtype: bool
或另外使用reset_index():
In [250]: df.groupby(['employer_key','account_id'])['login_date'] \
...: .apply(lambda x: len(x[x.ge('2015-11-01') & x.le('2016-04-30')]) > 0) \
...: .reset_index()
Out[250]:
employer_key account_id login_date
0 dell_inc 3333333 True
1 dell_inc 5555555 False
2 google 1111111 True
3 google 4444444 True
4 walmart 2222222 True