Python DataFrame:根据条件过滤数据框日期?

时间:2021-05-02 17:33:22

标签: python python-3.x pandas dataframe

我正在尝试通过 start_date 过滤 df。

start_date 对每个用户都是一样的。如果 present_dates 中的任何记录小于 start_date,则必须由用户过滤掉。

样本 df

                name      present_dates                     start_date
        0       bruno    2021-03-08 10:09:37.623        2021-04-01 10:09:37.623
        1       bruno    2021-05-08 10:09:37.623        2021-04-01 10:09:37.623
        2       bruno    2021-06-08 10:09:37.623        2021-04-01 10:09:37.623
        3       paul     2021-02-24 10:09:37.623        2021-01-25 10:09:37.623
        4       paul     2021-01-15 10:09:37.623        2021-01-25 10:09:37.623
        5       marcus   2021-06-08 10:09:37.623        2021-10-15 10:09:37.623
        6       luke     2021-01-05 10:09:37.623        2021-01-01 10:09:37.623

预期输出

                name      present_dates                     start_date
        0       bruno    2021-05-08 10:09:37.623        2021-04-01 10:09:37.623
        1       bruno    2021-06-08 10:09:37.623        2021-04-01 10:09:37.623
        2       paul     2021-02-24 10:09:37.623        2021-01-25 10:09:37.623
        3       luke     2021-01-05 10:09:37.623        2021-01-01 10:09:37.623  

1 个答案:

答案 0 :(得分:0)

你可以使用布尔索引作为 anky 提到的,你也可以使用 df.query() 如:

df.query("start_date < present_date")