簡體   English   中英

如何根據條件過濾出整個群體?

[英]How to filter out an entire group based on condition?

我想刪除created_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組在過去的一年中沒有任何created_date 我想過濾掉整個組ClassB所以最終只有6條記錄。

我嘗試使用filter ,但不確定如何處理lamda內的分組:

df.groupby(["class"]).filter(lambda group: ...))

假設您的截止日期是date

f = lambda df: not df[df.created_date >= date].empty
df.groupby('class').filter(f)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM