熊猫-自上次大于0以来的行数

Chr*_*s C 4 python indexing pandas

假设我有一个像这样的Pandas系列:

import pandas as pd

pd.Series([1, 0, 0, 1, 0, 0, 0], name='series')
Run Code Online (Sandbox Code Playgroud)

我如何添加自最后一个> 0以来的行数的列,如下所示:

pd.DataFrame({
    'series': [1, 0, 0, 1, 0, 0, 0],
    'row_num': [0, 1, 2, 0, 1, 2, 3]
})
Run Code Online (Sandbox Code Playgroud)

Sco*_*ton 6

尝试这个:

s.groupby(s.cumsum()).cumcount()
Run Code Online (Sandbox Code Playgroud)

输出:

0    0
1    1
2    2
3    0
4    1
5    2
6    3
dtype: int64
Run Code Online (Sandbox Code Playgroud)