Python 如何根据条件筛选出整个组?
我想删除在Python 如何根据条件筛选出整个组?,python,pandas,Python,Pandas,我想删除在created\u date列中没有过去一年任何值的组。以下是数据: +--------+----------------+-----------------------+---------------------+ | class | title | description | created_date | +--------+----------------+-----------------------+-----------
created\u date
列中没有过去一年任何值的组。以下是数据:
+--------+----------------+-----------------------+---------------------+
| class | title | description | created_date |
+--------+----------------+-----------------------+---------------------+
| ClassA | ClassA Title 1 | Class A Description 1 | 2017-06-20 21:59:07 |
| ClassA | ClassA Title 2 | Class A Description 2 | 2015-06-20 21:59:07 |
| ClassA | ClassA Title 3 | Class A Description 3 | 2014-06-20 21:59:07 |
| ClassB | ClassB Title 1 | Class A Description 1 | 2016-06-20 21:59:07 |
| ClassB | ClassB Title 2 | Class A Description 2 | 2015-06-20 21:59:07 |
| ClassB | ClassB Title 3 | Class A Description 3 | 2014-06-20 21:59:07 |
| ClassC | ClassC Title 1 | Class C Description 1 | 2017-06-20 21:59:07 |
| ClassC | ClassC Title 2 | Class C Description 2 | 2016-06-20 21:59:07 |
| ClassC | ClassC Title 3 | Class C Description 3 | 2015-06-20 21:59:07 |
+--------+----------------+-----------------------+---------------------+
如果您在上述数据中看到,只有组ClassB
没有过去一年的创建日期。我想过滤掉整个组ClassB
,所以最后只有6条记录
我尝试使用过滤器
,但不确定如何处理lamda中的分组:
df.groupby(["class"]).filter(lambda group: ...))
假设您的截止日期是date
f = lambda df: not df[df.created_date >= date].empty
df.groupby('class').filter(f)