擅长:python、mysql、java
<p>尽管@anky_91 answer是完美的,但一个简单的解决方案是创建一个函数<code>count_upto</code>,而不使用他在答案中讨论的方法。你知道吗</p>
<pre class="lang-py prettyprint-override"><code>def count_upto(series):
count = np.ones(len(series),np.int32)
for i in range(1,len(series)):
word=series[i]
if word == series[i-1]:
count[i] = count[i-1] +1
return count
df['count']=count_upto(df.Value.values)
</code></pre>
<pre><code>print(df)
>>>
Value c
0 1 1
1 1 2
2 1 3
3 2 1
4 3 1
5 3 2
6 1 1
7 1 2
8 2 1
9 2 2
</code></pre>