A B
0 2002-01-12 39
1 2002-01-12 17
2 2002-01-12 31
3 2002-01-15 12
4 2002-01-15 25
5 2002-01-15 25
6 2002-01-20 16
7 2002-01-20 40
8 2002-02-20 20
我想在任意A
值中选择满足条件B>30
的{{1}}个群组。
输出应为:
B
我试过了:
A B
0 2002-01-12 39
1 2002-01-12 17
2 2002-01-12 31
6 2002-01-20 16
7 2002-01-20 40
8 2002-02-20 20
答案 0 :(得分:2)
您提到了any
,我们将filter
与any
df.groupby('A').filter(lambda x : x['B'].ge(30).any())
Out[169]:
A B
0 2002-01-12 39
1 2002-01-12 17
2 2002-01-12 31
6 2002-01-20 16
7 2002-01-20 40
答案 1 :(得分:1)
df[df.groupby('A').B.transform(lambda x: (x > 30).any())]