首页 > 解决方案 > 如何将升序的连续数字标记到列中的值上?

问题描述

我有一个看起来像这样的列:

1
0
0
1
0
0
0
1

我希望输出看起来像这样:

1 <--
0
0
2 <--
0
0
0
3 <--

等等。我不知道从哪里开始。大约有 10,000 行,我觉得做一个 if 语句可能需要一段时间。我如何实现这个输出?

标签: pythonpandasnumpy

解决方案


高效简洁:

s.cumsum()*s

0    1       
1    0       
2    0       
3    2       
4    0       
5    0       
6    0       
7    3       
dtype: int64 

推荐阅读