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

时间:2020-02-10 17:04:23

标签: python pandas

我要过滤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
-----------|------------|-----
...        |            |

忽略了帐户“ a100000002”。

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

1 个答案:

答案 0 :(得分:0)

类似的事情应该起作用:

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