代码之家  ›  专栏  ›  技术社区  ›  Saravana

如何根据条件筛选出整个组?

  •  2
  • Saravana  · 技术社区  · 8 年前

    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 没有任何 创建日期 过去一年。我想过滤掉整个团队 B类 所以我最终只有6张唱片。

    我试过使用 filter

    df.groupby(["class"]).filter(lambda group: ...))
    
    1 回复  |  直到 8 年前
        1
  •  3
  •   piRSquared    8 年前

    假设你的截止日期是 date

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