使用Pandas查找连续活动超过N个月的帐户

2024-09-28 03:17:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我想筛选N个月内没有连续活动的帐户

例如:

a100000001 | 2019-01-31 | NaN
           | 2019-02-28 | 40
           | 2019-03-31 | 30
           | 2019-04-30 | 50
-----------|------------|-----
a100000002 | 2019-01-31 | NaN
           | 2019-02-28 | NaN
           | 2019-03-31 | 20
           | 2019-04-30 | NaN
-----------|------------|-----
...        |            |

连续N=3个月的结果如下所示:

a100000001 | 2019-01-31 | NaN
           | 2019-02-28 | 40
           | 2019-03-31 | 30
           | 2019-04-30 | 50
-----------|------------|-----
...        |            |

其中帐户“A10000002”被忽略

我尝试了df[df.rolling(3)['amount'].min().notna()],但它也从所需帐户中删除了NaN行


Tags: df帐户nanminamountrollingnotnaa100000001
1条回答
网友
1楼 · 发布于 2024-09-28 03:17:40

像这样的方法应该会奏效:

df.groupby('account').filter(lambda g: (g['date'].dt.month.diff() <= n).all())

相关问题 更多 >

    热门问题